计算密集型的程序使用多线程可以提高性能吗?C++
PHP中文网
PHP中文网 2017-04-17 13:17:09
0
2
818

没有大量的IO操作,主要是占用CPU,单核多核情况都有。C++11 thread
描述的不太清楚,其实想问的是如果我创建多个线程,这些线程的分配是怎样的?

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(2)
阿神

多线程不就是用来处理高并发的么?这样会提高处理速度啊,不然单线程处理到何年何月了

大家讲道理

cluster和pipeline模式.
cluster模式适用于任务比较难拆分, 但是任务与任务之间没有关联, 比如zip文件, 多个文件之间并没有关联, 那么我可以开四五个线程去zip不同的文件.
pipeline模式, 适用于那些任务先后顺序可以拆分的, 把费时的操作抽出来, 用线程处理. 用那个zip文件的例子, 一个线程用来控制zip任务的分发, 多个线程去zip, zip好之后, 交给另外一个线程. 这个完整的任务, 就被拆分成3个阶段, 这种模式就是pipeline.

你的业务需要灵活运用这两种最基本的设计模式

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal