奈學:Executor執行緒池的概述

奈學教育發表於2020-08-27

  Executor執行緒池來自於JDK1.5的JUC包,使用執行緒池的目的或者好處如下:

  實現執行緒資源的合理複用。執行緒資源屬於作業系統核心資源之一,建立和銷燬都需要佔用系統資源和大量時間。使用執行緒池之後,不再需要開發者管理執行緒,執行緒的建立和銷燬都交給執行緒池控制,實現執行緒的複用,減少執行緒資源的頻繁的建立和銷燬。

  提升任務執行效率。當新來一個執行緒任務的時候,由於具有執行緒複用計數因此可以直接利用現有的執行緒去執行任務,不需要新建執行緒,這樣一定程度上提升了執行效率。

  可以對執行緒和執行緒任務實現實時監控和管理。比如目前活動執行緒數、曾經的最大執行緒數、已完成的任務數量等功能;比如控制最大執行緒數,線上程任務執行前-執行完畢後-執行緒池停止後具有可選的回撥方法、移除某個執行緒任務、立即停止執行緒池等功能,他們都可以透過執行緒池的相關方法呼叫來實現。

  JDK的執行緒池可擴充套件性極強,我們既可以利用定義好的執行緒池,也可以自定義執行緒池,很多其他框架元件也都是使用或者擴充套件了JDK執行緒池,比如ForkJoinPool分治框架(執行緒池框架的增強),guava的執行緒池MoreExecutors就是基於JDK執行緒池做的擴充套件,許可權框架Shiro的PropertiesRealm屬性檔案認證類,JAVA RESTFUL請求服務框架Jersey,甚至單元測試框架junit等等框架都是用到了原生Executor執行緒池,下一篇來看看JDK的Executor執行緒池的主要原理吧!

本文來源於:奈學開發者社群,如有侵權,請聯絡我刪除~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2715047/,如需轉載,請註明出處,否則將追究法律責任。

相關文章