请问Linux跑C++程序为什么只有一个CPU核心在运行?
linux吧
全部回复
仅看楼主
level 1
遮英纸
楼主
一个比较大型的C++项目,要跑很久。在linux上跑,运行时打开系统监视器发现只有一个CPU核心在满载,别的核心都在看戏(我是六核六线程)。请问这是为啥?
2021年04月03日 09点04分
1
level 11
luomunian
你又没调用多线程
2021年04月03日 10点04分
2
遮英纸
怎么调用多线程呀
2021年04月03日 10点04分
luomunian
@遮英纸
我不知道
2021年04月03日 11点04分
遮英纸
@luomunian
好的谢谢
2021年04月03日 11点04分
level 15
德国骨科研究员
开ssh让我上去看下
0
2021年04月03日 11点04分
4
level 11
星尘喵🌌😺
2l正解。
你要调用多线程可以用pthread。
2021年04月04日 13点04分
6
遮英纸
好的谢谢
2021年04月14日 08点04分
level 13
a126285
该项目是自己写的还是别人写的?如果是自己写的,我不信会问出这种问题;如果是别人写的,可以尝试找作者提需求。虽然不是所有任务都可以并行化的,但可以试一试。
2021年04月05日 08点04分
7
遮英纸
好的,是我导师写的,不过很明显我和导师都没学过多线程
2021年04月14日 08点04分
a126285
@遮英纸
不一定非要多线程,多进程、分布式之类的都可以。他不仅是编程问题,其核心步骤是任务分解,解除子任务之间的依赖。打个比方,计算函数 f(x) 在某定义域上的值,可将定义域分段,c++实现根据命令行参数设定本进程计算的范围,多开几个进程跑不同段即可充分利用 cpu
2021年04月14日 08点04分
遮英纸
@a126285
嗯嗯,现在我就只能手动多开几个终端运行
2021年04月15日 15点04分
level 14
豪杰兴邦
写多线程程序
2021年04月08日 16点04分
8
1