| 发表于:2007-03-08 16:57:092楼 得分:55 |
如果任务的所有动作都可以一直执行而没有中断(比如等待io),那在单cpu系统中一般应该是单线程更快。 当然,也不尽然,比如:假设某系统中还有另外一个变态进程开了一大堆忙线程,同时假如所用的这个操作系统纯粹地以线程为单位平均分配时间片,那么你也多开些线程至少可以多抢一些时间片,这样虽然增加了绝对时间(该进程本身所耗用的cpu时间),但可以减少是相对时间(用户感觉到的在那种变态情况下程序执行完一次所用的时间)。 多cpu和多核状态下应该更复杂一些,而且也要看线程之间通信开消和耦合程度等因素。 | | |
|