差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

java:effective_java:concurrency:dont_depend_on_the_thread_scheduler [2023/06/25 09:48] (目前版本)
行 1: 行 1:
 +{{tag>​java effective_java java_concurrency}}
 +====== Effective Java - Don’t depend on the thread scheduler ======
 +===== Introduction =====
 +這個Item重點就是要你不要相信thread scheduler可以幫你解決thread排班問題,把code寫好比較實在。有幾個重點要注意:​
 +  - Thread的數量不要大於CPU的核心數。一般Thread數量都會使用CPU核心數+1的公式,但在Java Concurrency In Practice中,有提供根據CPU bound vs IO bound比率去tune thread pool size的方法,大家可以參考。
 +  - 基於不可靠、不好測試與不好移植的原因,作者建議大家別用Thread.yield還有控制Thread priority去解決排班問題。
  
 +===== Note =====
 +Effective Java第三版Item 84。
 +===== Reference =====
 +  * Effective Java, 3/e
 +  * [[https://​www.itranslater.com/​qa/​details/​2326217050324206592|java-Thread.sleep(0)和Thread.yield()语句是否等效?]]
 +  * Java Concurrency In Practice, 8.2. Sizing Thread Pools
 +=====    =====
 +----
 +\\
 +~~DISQUS~~