導航:首頁 > 編程語言 > java線程池的使用例子

java線程池的使用例子

發布時間:2025-02-09 06:03:13

『壹』 什麼是java線程池

找的資料,你看一下吧:
多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閑置時間,增加處理器單元的吞吐能力。

假設一個伺服器完成一項任務所需時間為:T1 創建線程時間,T2 在線程中執行任務的時間,T3 銷毀線程時間。

如果:T1 + T3 遠大於 T2,則可以採用線程池,以提高伺服器性能。
一個線程池包括以下四個基本組成部分:
1、線程池管理器(ThreadPool):用於創建並管理線程池,包括 創建線程池,銷毀線程池,添加新任務;
2、工作線程(PoolWorker):線程池中線程,在沒有任務時處於等待狀態,可以循環的執行任務;
3、任務介面(Task):每個任務必須實現的介面,以供工作線程調度任務的執行,它主要規定了任務的入口,任務執行完後的收尾工作,任務的執行狀態等;
4、任務隊列(taskQueue):用於存放沒有處理的任務。提供一種緩沖機制。

線程池技術正是關注如何縮短或調整T1,T3時間的技術,從而提高伺服器程序性能的。它把T1,T3分別安排在伺服器程序的啟動和結束的時間段或者一些空閑的時間段,這樣在伺服器程序處理客戶請求時,不會有T1,T3的開銷了。

線程池不僅調整T1,T3產生的時間段,而且它還顯著減少了創建線程的數目,看一個例子:

假設一個伺服器一天要處理50000個請求,並且每個請求需要一個單獨的線程完成。在線程池中,線程數一般是固定的,所以產生線程總數不會超過線程池中線程的數目,而如果伺服器不利用線程池來處理這些請求則線程總數為50000。一般線程池大小是遠小於50000。所以利用線程池的伺服器程序不會為了創建50000而在處理請求時浪費時間,從而提高效率。

『貳』 java常用的幾種線程池實例講解

下面給你介紹4種線程池:

1、newCachedThreadPool:

2、newFixedThreadPool:


3、newSingleThreadExecutor

4、NewScheledThreadPool:

最後給你說一下線程池任務執行流程:

閱讀全文

與java線程池的使用例子相關的資料

熱點內容
5s1528支持什麼網路 瀏覽:558
win10電腦右鍵閃屏 瀏覽:739
微信商戶付款 瀏覽:892
台式機和筆記本如何傳文件 瀏覽:562
vs2008工具箱沒有可用控制項 瀏覽:434
小米4密碼鎖屏 瀏覽:135
微信掃文件小程序 瀏覽:446
資料庫行鎖 瀏覽:361
全局數據邏輯結構是什麼模型 瀏覽:496
資料庫如何分區 瀏覽:579
目標不支持長文件名怎麼辦 瀏覽:666
win7整人程序 瀏覽:804
制定好文件後部門簽什麼意思 瀏覽:417
韓順平第二版java視頻教程xml 瀏覽:241
券商app有什麼作用 瀏覽:276
用微信買火車票安全嗎 瀏覽:386
hg8321r版本刷機 瀏覽:881
死神來了app哪個好 瀏覽:869
linux訪問samba共享文件夾 瀏覽:906
條形統計表用什麼來呈現數據 瀏覽:383

友情鏈接