请回答一下Java中有几种线程池及实现过程?
生活随笔
收集整理的這篇文章主要介紹了
请回答一下Java中有几种线程池及实现过程?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
請回答一下Java中有幾種線程池及實現過程?
1、newFixedThreadPool創建一個指定工作線程數量的線程池。每當提交一個任務就創建一個工作線程,如果工作線程數量達到線程池初始的最大數,則將提交的任務存入到任務隊列中。
2、newCachedThreadPool創建一個可緩存的線程池。這種類型的線程池特點是:
1).工作線程的創建數量幾乎沒有限制(其實也有限制的,數目為Interger. MAX_VALUE), 這樣可靈活的往線程池中添加線程。
2).如果長時間沒有往線程池中提交任務,即如果工作線程空閑了指定的時間(默認為1分鐘),則該工作線程將自動終止。終止后,如果你又提交了新的任務,則線程池重新創建一個工作線程。
3、newSingleThreadExecutor創建一個單線程化的Executor,即只創建唯一的工作線程來執行任務,如果這個線程異常結束,會有另一個取代它,保證順序執行(我覺得這點是它的特色)。單工作線程最大的特點是可保證順序地執行各個任務,并且在任意給定的時間不會有多個線程是活動的 。
4、newScheduleThreadPool創建一個定長的線程池,而且支持定時的以及周期性的任務執行,類似于Timer。
總結
以上是生活随笔為你收集整理的请回答一下Java中有几种线程池及实现过程?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请解释一下Java多线程回调是什么意思?
- 下一篇: 请简短说明一下你对AQS的理解