首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

发一个有关问题供大家探讨

2012-02-21 
发一个问题供大家探讨处理一个线性任务(没有费时的io操作),是采用多线快还是单线程快?本问题纯属技术探讨,

发一个问题供大家探讨
处理一个线性任务(没有费时的io操作),是采用多线快还是单线程快?
本问题纯属技术探讨,希望大家在讨论中获益。如果对问题的解释很独到将给于加分。

[解决办法]
具体是什么样的线性任务?
如果从流程上不可能用并行的处理,单线程就可以了。

[解决办法]
如果任务的所有动作都可以一直执行而没有中断(比如等待IO),那在单CPU系统中一般应该是单线程更快。

当然,也不尽然,比如:假设某系统中还有另外一个变态进程开了一大堆忙线程,同时假如所用的这个操作系统纯粹地以线程为单位平均分配时间片,那么你也多开些线程至少可以多抢一些时间片,这样虽然增加了绝对时间(该进程本身所耗用的CPU时间),但可以减少是相对时间(用户感觉到的在那种变态情况下程序执行完一次所用的时间)。

多CPU和多核状态下应该更复杂一些,而且也要看线程之间通信开消和耦合程度等因素。

热点排行