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