2 lgp8z lgp8z 于 2016.03.20 16:41 提问

qt多线程如何调用多核

我的程序要处理大量的数据,想开辟多个线程,但是当跑起来的时候,其实它们只是在轮流着执行的,并没有在多核上运行,改进程的cpu占用量一直是50%,请问我用什么办法可以是多个线程跑在多个cpu上,使cpu占用量到100%呢

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.20 18:10

多个线程就是可以利用多个处理器的。检查下你是不是有多余的代码锁定和同步。

qq423399099
qq423399099   Ds   Rxr 2016.03.21 10:28

不知道LZ是不是由于别的操作限制了速度,如果速度是从磁盘读的,可能跟磁盘性能有关系,要与磁盘同步数据,io太多
如果是数据库,虽然你每次只插一条数据,但每次背后都是一次事务操作。
类似用到了一些不适合高并发访问的类型,如sqlite
速度也不是只取决于CPU,IO口缓冲,数据库多种等待事件等都是不占cpu占时间的
而且过多的线程也需要系统管理和维护

lgp8z
lgp8z 不是,我在两个线程里一直创建局部类(消耗cpu),发现同一时刻只有一个线程在创建,我的电脑是双核的,所以cpu才用了50的吧,我想让这两个线程分别跑在两个核上,使cpu占用率到100,这样能快些。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!