我有一個應用程序有3個線程,我將切換到由ScheduledExecutorService進行管理。當創建這個實例時,你必須指定線程池的大小,但是這是什麼?這是否意味着如果我計劃運行3個任務,我應該爲每個任務創建一個3個線程池大小?Java線程池大小(Executors)
0
A
回答
0
假設你已經創建ScheduledExecutorService的這樣
ScheduledExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Runnable() {
public void run() {
System.out.println("Asynchronous task");
}
});
executorService.shutdown();
現在這裏發生了什麼:使用newFixedThreadPool()
工廠方法創建
- 首先一個ExecutorService。這將創建一個線程池,並執行任務
10 threads
。 - 其次,傳遞給execute()方法的Runnable接口的匿名實現是 。這會導致Runnable由ExecutorService中的一個線程執行爲 。
線程池管理工作者線程池。
thread pools
包含一個工作隊列,其中包含等待執行的任務。
現在來到:
這是否意味着,如果我打算上運行3個任務我應該創建一個3每個的 線程池的大小?
是的,以便所有3個任務可以並行執行。
+0
非常感謝! – user3469157 2015-02-10 13:59:10
相關問題
- 1. 優化線程池大小
- 2. 池大小爲1的Java線程池1
- 3. Java堆/池大小
- 4. 動態調整大小的線程池
- 5. 蟒蛇線程池的大小
- 6. 更改JVM的線程池大小
- 7. 在Scrapy中設置線程池大小
- 8. Java - 管理線程池的大小(主要增加)
- 9. Java多線程性能隨線程池大小的增加而變差
- 10. Java連接池最大大小
- 11. 當池大小小於線程數時,避免ConnectionTimeoutError
- 12. Java - 重用線程池
- 13. Java中的線程池
- 14. Java線程池功能
- 15. Java的線程池同步
- 16. 阿卡均衡池中有可變大小的線程池執行人
- 17. Java - Executors的優點如何?
- 18. 在運行時確定libuv線程池的大小?
- 19. 在使用ExecutorService時「刷新」固定大小的線程池
- 20. 關閉一個固定大小的線程池
- 21. 播放2線程池:默認池VS阿卡池與Java
- 22. Websphere ejb池大小
- 23. 最小連接池大小
- 24. 最大連接池大小
- 25. 任務比較大的線程池
- 26. 線程池中的線程
- 27. 線程池stucks
- 28. PHP線程池?
- 29. C++線程池
- 30. Servlet線程池
一個很好的文章你是如何創建一個ScheduledExecutorService的? – 2015-02-10 12:21:31
ScheduledExecutorService executor = Executors.newScheduledThreadPool(3); executor.scheduleAtFixedRate(task1,0,period,TimeUnit.MILLISECONDS); – user3469157 2015-02-10 12:31:17