Java線程池(1) - 問題驅動“Java線程池”學習

下面是幾個Java線程池的問題,大家嘗試回答一下:

1 使用線程池比手動創建線程好在哪裏?

2 線程池的各個參數的含義?

3 線程池有哪 4 種拒絕策略?

4 有哪 6 種常見的線程池?什麼是 Java8 的 ForkJoinPool?

5 線程池常用的阻塞隊列有哪些?

6 爲什麼不應該自動創建線程池?

7 合適的線程數量是多少?CPU 核心數和線程數的關係?

8 如何根據實際需要,定製自己的線程池?

9 如何正確關閉線程池?shutdown 和 shutdownNow 的區別?

10 線程池實現“線程複用”的原理?

Q1:使用線程池比手動創建線程好在哪裏?

A1.1、複用線程以降低資源消耗

降低創建、消耗線程都要消耗系統資源(CPU、內存)

A1.2、提高響應速度

任務到達時不需要臨時創建線程

A1.3、提升線程的可管理性

線程代表着CPU和內存消耗,線程池管理(統一分配、調優、監控)了線程也就管理了CPU和內存消耗

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