linux进程和线程的性能差异(猜)

近日同事间正在举办关于进程和线程的性能差异大讨论。有几个搞Linux的几乎都异口同声说linux下进程和线程是一样的(想当年我师父也这么说),搞的那位说线程高效的同事很郁闷。

本人查了下相关资料

尤其是https://www.ibm.com/developerworks/cn/linux/l-inside/

linux调度的单位是TASK ,无论一个进程还是线程都对应一个内核TASK。所以从这看,没差别。

但是,同一进程子线程TCB指向的内存相同。这意味着TASK切换,内存区的切换工作会少,即CPUL1 L2缓存要换出的概率小很多。这明显是提速。

(现在稍微有些小忙,有空的话会去做个试验,看看猜想对不)

不过进程管理比较方便,有OS给它保护。不会像线程,一个飞了整个进程挂了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章