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

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

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(2)
阿神

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

大家讲道理

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage