Effective Java - Prefer executors, tasks, and streams to threads

這個Item的重點就是要你善用JDK內建的concurrency物件,而不要自己產生與控制thread。書中以JDK內建的Thread Pool ExecutorService來做說明,

  1. ExecutorService支援pool size的控制、工作生命週期的控制、pool的銷毀。
  2. Executors提供不同類型的thread pool,單一thread的newSingleThreadExecutor、無大小限制但可能會讓你server爆掉的newCachedThreadPool、有大小限制的newFixedThreadPool、簡單排程的ScheduledThreadPoolExecutor等。
  3. JDK將怎麼執行這件事情model為Runnable與Callable;Runnable屬於無回傳值的執行方法,Callable屬於有回傳值的執行方法。
  4. JDK7以後支援Jorkjoin pool,詳情參考link

Effective Java第三版Item 80。

  • Effective Java, 3/e