程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA線程池ThreadPoolExecutor與阻塞隊列BlockingQueue

JAVA線程池ThreadPoolExecutor與阻塞隊列BlockingQueue

編輯:關於JAVA

池技術是典型的享元模式。

頻繁使用new Thread來創建線程的方式並不太好。因為每次new Thread新建和銷毀對象性能較差,線程缺乏統一管理。好在java提供了線程池,它能夠有效的管理、調度線程,避免過多的資源消耗。優點如下:

重用存在的線程,減少對象創建、銷毀的開銷。

可有效控制最大並發線程數,提高系統資源的使用率,同時避免過多資源競爭,避免堵塞。

提供定時執行、定期執行、單線程、並發控制等功能。

線程池原理簡單的解釋就是會創建多個線程並且進行管理,提交給線程的任務會被線程池指派給其中的線程進行執行,通過線程池的統一調度、管理線程池的統一調度、管理使得多線程的使用更簡單高效。

線程池負責管理工作線程,包含一個等待執行的任務隊列。線程池的任務隊列是一個Runnable集合,工作線程負責從任務隊列中取出並執行Runnable對象。

任務隊列一般就是BlockingQueue。

更多關於java並發的知識會在以後的博客中作為重點專題來講解,這裡暫時寫這麼多。

URL:http://www.bianceng.cn/Programming/Java/201608/50353.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved