Java 併發編程學習筆記(12) ----SingleThreadExecutor的意義

SingleThreadExecutor的意義

SingleThreadExecutor內部會創建一個Thread,這個Thread的工作就是從一個隊列中取出用戶提交的任務進行執行,
如果執行過程中發生未受檢的異常,singleThreadExecutor會自動重新啓動一個線程再繼續工作,這一點比自己創建
一個線程自己管理輕鬆很多,也不需要再去維護一個任務隊列。

線程池管理的線程的幾點意義:
1、緩存線程、進行池化,可實現線程重複利用、避免重複創建和銷燬所帶來的性能開銷。
2、當線程調度任務出現異常時,會重新創建一個線程替代掉髮生異常的線程。
3、任務執行按照規定的調度規則執行。線程池通過隊列形式來接收任務。再通過空閒線程來逐一取出進行任務調度。即線程池可以控制任務調度的執行順序。
4、可制定拒絕策略。即任務隊列已滿時,後來任務的拒絕處理規則。
以上意義對於singleThreadExecutor來說也是適用的。普通線程和線程池中創建的線程其最大的區別就是有無一個管理者對線程進行管理。

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