想充分利用多个核心的运算能力,请问利用c++builder6 怎么开发多个CPU核心的程序?
如题,以前单核心的时候,用过多线程,现在有一个运算量比较大的任务,想充分利用多个CPU核心计算,例如4核心,可以让所有核心都达到较高的占用率。
[解决办法]
开线程试试
BCB6不支持并行计算的,传说中的intel C++编译器可以
[解决办法]
一般情况你开发的应用应该是不会涉及到进程调度的,这个是系统完成的.你要想充分发挥cpu的效能,用多线程可以试试.但是离"让所有核心都达到较高的占用率"这个还是有很大差距的.
[解决办法]
多线程或完成端口
[解决办法]
使用 intel c++ 等并行编译器编译 dll 模块实现
[解决办法]
openmp 是针对多核做的,但是没有听说能在CBuilder下用。我在VC2010下试过,
for(int i=0;i<10000;i++)
for(int j=0;j<10000;j++)
cout<<i<<"--"<<j<<endl;
就这么多次的循环的东东,那个效率真牛。有机会自己玩玩吧
[解决办法]
起多线程就可以了。
操作系统会把你程序线程安排在不同cpu上运行。
[解决办法]
每个线程之间计算量越平衡,越能充分利用每个核。
[解决办法]
曾经写过一个文件压缩程序,也就是将一个文件(Size:8G)分块(每块16M),块压缩由线程完成,主进程根据CPU数量,开启相应多的压缩线程,最后按序号进行连接就等于压缩完成了。
运算量比较大的任务要多线程,就要看你的运算能否分块了。
[解决办法]
额。。。我多线程的程序在双核的电脑上面跑,为什么也只能占CPU的50%。。。晕
[解决办法]