juc线程池原理(六):jdk线程池中的设计模式
生活随笔
收集整理的這篇文章主要介紹了
juc线程池原理(六):jdk线程池中的设计模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、jdk中默認線程池中的代理模式
單例類線程池只有一個線程,無邊界隊列,適合cpu密集的運算。jdk中創建線程池是通過Executors類中提供的靜態的方法來創建的,其中的單例類線程池的方法如下:
public static ExecutorService newSingleThreadExecutor() { return new FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue())); }public static ScheduledExecutorService newSingleThreadScheduledExecutor() { return new DelegatedScheduledExecutorService(new ScheduledThreadPoolExecutor(1)); }說明:
1、newSingleThreadExecutor的代理模式類圖如下:
new ThreadPoolExecutor()實例是被代理對象作為參數傳給代理對象FinalizableDelegatedExecutorService,通過代理對象限制對ThreadPoolExecutor進行參數化調整。
2、newSingleThreadScheduledExecutor的代理模式類圖如下:
new ScheduledThreadPoolExecutor(1)實例是被代理對象作為參數傳遞給代理對象DelegatedScheduledExecutorService,通過代理對象限制對ThreadPoolExecutor進行參數化調整。
總結
以上是生活随笔為你收集整理的juc线程池原理(六):jdk线程池中的设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Android错误 View req
- 下一篇: 前端开发中那些不招人“待见”的功能