像 - 網絡操作和位圖操作圖像加載和其他類型的工作,我可以TheadPoolExecuter為我的整個應用程序創建一個并在其上執行。如果答案是否定的 -> 為什么?以及如何thread pool為每個操作創建?或者如果是 -> 是否發生性能問題?
2 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
這兩種方法都有優點和缺點。
在單線程池的情況下(我想是單例實現):
? 你有一個入口點來提交后臺任務
? 很容易實現和控制生命周期
? 如果你有很多不同的快速任務和一些長時間運行的任務,很長正在運行的任務可能會將所有線程保留在有限的池中,而用戶在 UI 中等待一些快速操作
不同的線程池(一種任務一個池):
? 長時間運行任務的線程池可以累積任務,而快速任務可以在自己的線程池中獨立執行
? 你對你的應用程序中的任務了如指掌 - 你可以使用線程工廠為每種類型的任務微調池大小,設置線程優先級,初始堆棧大小等
? 如果您定義線程組和線程名稱,它可以幫助您進行調試
? 涉及不同的線程池來硬控制它們的生命循環
?這個實現不會在任務類分離不佳的情況下帶來很多好處
無論如何,您需要做出一些妥協并評估優勢
添加回答
舉報
0/150
提交
取消