是否線程池一定比單線程高效?

不一定, 比如Redis就是單線程的,但它卻非常高效,基本操作都能達到十萬量級/s。從線程這個角度來看,部分原因在於: 1.多線程帶來線程上下文切換開銷,單線程就沒有這種開銷; 2.採用單線程,避免了不必要的上下文切換和競爭條件,也不存在多進程或者多線程導致的切換而消耗 CPU,不用去考慮各種鎖的問題,不存在加鎖釋放鎖操作,沒有因爲可能出現死鎖而導致的性能消耗; 3.使用多路I/O複用模型,非阻塞
相關文章
相關標籤/搜索