在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 新手關(guān)于線程池的問題

新手關(guān)于線程池的問題

我們在項(xiàng)目中,啟動一個線程的話是放入線程池中的。
在每次放入線程池中要 先創(chuàng)建出線程池:
ExecutorService executorService = Executors.newCachedThreadPool();
但是 如果在不同的類中每次都new一個的話不就會產(chǎn)生好幾個線程池嗎,那線程池還有用嗎?
那不就相當(dāng)于一個池子里面也就放了一兩個線程,但是有很多池子?不知道是不是我理解錯了,請大神們指教一下,謝謝!

回答
編輯回答
念初

是的,這種寫法的確是創(chuàng)建了很多的線程池。
但是當(dāng)我們使用Executors.newXXXThreadPool()的時候是我們需要有這么一個線程池。
如果你想在全局中使用同一個線程池中的話,可以試著去配置一個spring的bean作為線程池

clipboard.png
然后通過@Autowired 注入
` @Autowired
@Qualifier("poolTaskExecutor")
Executor executor;
`
使用線程中管理的線程

2018年4月20日 00:38
編輯回答
話寡

要看具體場景:

如果一個類是 容器 類型,無論它是單例與否,它都應(yīng)該有一個自己的線程池。

如果是個工廠型的類型,也許你需要根據(jù)情況創(chuàng)建不同的線程池,那此時也不能用一個 全局/工廠實(shí)例 持有的線程池。

暫時想不到其他不能用全局線程池的情況了。

2018年9月19日 16:27