大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java線程池學習教程:實現簡易線程池!

Java線程池學習教程:實現簡易線程池!

更新時間:2020-02-27 11:06:34 來源:動力節點 瀏覽3325次


  開發中經常會遇到各種池(如:連接池,線程池),它們的作用就是為了提高性能及減少開銷,在JDK1.5以后的java.util.concurrent包中內置了很多不同使用場景的線程池,為了更好的理解它們,自己手寫一個線程池,加深印象。


  概述


  1.什么是池


  它的基本思想就是一種對象池,程序初始化的時候開辟一塊內存空間,里面存放若干個線程對象,池中線程執行調度由池管理器來處理。當有線程任務時,從池中取一個,執行完成后線程對象歸池,這樣可以避免反復創建線程對象所帶來的性能開銷,節省系統的資源。


  2.使用線程池的好處


  合理的使用線程池可以重復利用已創建的線程,這樣就可以減少在創建線程和銷毀線程上花費的時間和資源。并且,線程池在某些情況下還能動態調整工作線程的數量,以平衡資源消耗和工作效率。同時線程池還提供了對池中工作線程進行統一的管理的相關方法。這樣就相當于我們一次創建,就可以多次使用,大量的節省了系統頻繁的創建和銷毀線程所需要的資源。


Java線程池學習教程:實現簡易線程池!


  包含功能:


  1.創建線程池,銷毀線程池,添加新任務


  2.沒有任務進入等待,有任務則處理掉


  3.動態伸縮,擴容


  4.拒絕策略


  介紹了線程池的原理以及主要組件之后,就讓我們來手動實現一個自己的線程池,以加深理解和深入學習。因為自己實現的簡易版本所以不建議生產中使用,生產中使用java.util.concurrent會更加健壯和優雅。


  代碼


  以下線程池相關代碼均在SimpleThreadPoolExecutor.java中,由于為了便于解讀因此以代碼塊的形式呈現


  維護一個內部枚舉類,用來標記當前任務線程狀態,在Thread中其實也有.


      Java線程池學習教程:實現簡易線程池!


  任務線程具體實現


  1.繼承Thread,重寫run方法。


  2.this.taskState==TaskState.FREE&&TASK_QUEUE.isEmpty()如果當前線程處于空閑狀態且沒有任何任務了就將它wait住,讓出CPU執行權


  3.如果有任務就去執行FIFO(先進先出)策略


  4.定義close方法,關閉線程,當然這里不能暴力關閉,所以這里有需要借助interrupt


     Java線程池學習教程:實現簡易線程池!


  簡易版線程池,主要就是維護了一個任務隊列和線程集,為了動態擴容,自己也繼承了Thread去做監聽操作,對外提供submit()提交執行任務、shutdown()等待所有任務工作完畢,關閉線程池


       Java線程池學習教程:實現簡易線程池!


  測試一把


  創建一個測試類


     Java線程池學習教程:實現簡易線程池!


  日志分析:從日志中可以看到,初始化的時候是2個線程在工作,執行速度較為緩慢,當經過第一次擴容后,會觀察到線程池里線程個數增加了,執行任務的速度就越來越快了,本文一共擴容了2次,第一次是擴容到activeSize的大小,第二次是擴容到maxSize,在執行任務的過程中,當線程數過多的時候就會觸發回收機制...


     Java線程池學習教程:實現簡易線程池!


  總結


  通過本文,大致可以了解線程池的工作原理和實現方式,學習的過程中,就是要知其然知其所以然。這樣才能更好地駕馭它,更好地去理解和使用,也能更好地幫助我們觸類旁通,后面的文章中會詳細介紹java.util.concurrent中的線程池。


      以上就是動力節點Java培訓機構小編介紹的“Java線程池學習教程:實現簡易線程池!”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美成人免费香蕉 | 亚洲a视频在线观看 | 91亚洲精品一区二区在线观看 | 日韩不卡一级毛片免费 | 四虎成人欧美精品在永久在线 | 国产一区二区三区在线观看视频 | 国产精品合集久久久久青苹果 | aⅴ一区二区三区 | 天天做天天添婷婷我也去 | 欧美激情免费看 | 国产综合成色在线视频 | 免费国产不卡午夜福在线 | 狠狠色丁香婷婷久久综合2021 | 成人青草亚洲国产 | 国产影片中文字幕 | 五月婷婷伊人网 | 国产午夜影院 | 日本老乱video| 成人欧美一区二区三区视频 | 欧美精品亚洲精品日韩经典 | 青草福利视频 | 一级毛片www | 天天拍夜夜添久久精品免费 | 番茄视频成人在线观看 | 特级毛片s级全部免费 | 女人18毛片特级一级免费视频 | 国产成人香蕉 | 亚洲午夜久久久精品影院视色 | 亚洲欧洲一区二区三区在线观看 | 中国国产一国产一级毛片视频 | 久久精品人 | 欧美网站色 | 国产精品乱码免费一区二区 | 九九精品视频一区在线 | 99热在线国产 | 欧美精品久久久久久久免费观看 | 奇米七七七| 99久久精品免费观看国产 | 日韩精品一区二区在线观看 | 91麻豆精品国产91久久久久 | 色午夜在线 |