
[问题]如何设计多线程程序,能达到节省运行时间的目的?
- ubuntuprimer
- 帖子: 30
- 注册时间: 2008-07-14 8:14
- 来自: 外太空
- 联系:
话如其名!!猛将兄 写了:多线程不是提高程序的运行速度,而是提高计算机资源的使用效率
如果运行的任务不是一直在做运算,而是做一会IO,做一会运算,那么在做IO的时候,其他的线程可以做运算。
如果你是作数值运算,并且数据都在内存里面,所有的运算都没有IO等待,那么你在1个CPU的情况下,多线程必然更慢,因为多个线程之间上下文切换要产生不必要的开销。线程之间的互斥也将让效率变低
我想这个知识,大概老师都讲过的吧,但好像很多人都不太懂,基础知识还是很重要的
I love only three things:
the sun the moon and you
the sun for day
the moon for night
and you for ever
the sun the moon and you
the sun for day
the moon for night
and you for ever