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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
阿神

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

大家讲道理

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!