我發現有兩種方法(提交和執行)將一個Runnable添加到線程池中,有什麼區別?提交和執行方法與ThreadPoolExecutor有什麼區別
29
A
回答
30
區別在於execute
不會返回Future
,所以您不能等待Runnable
的完成並獲取使用它發出的任何異常。
1
14
的submit(...)
方法是在ExecutorService
界面引入的執行器框架延伸部。
其從execute(Runnable)
主要區別在於submit(...)
可以接受Callable<V>
(而僅接受Runnable
)並返回的Future<V>
一個實例,這可以在呼叫者以後使用異步(可能阻塞檢索結果,直到計算進行由Callable
完成)。
相關問題
- 1. 「提交」和「提交工作」有什麼區別?
- 2. 算法和方法有什麼區別
- 3. GET和POST方法有什麼區別?
- 4. UrlHelper.Route和UrlHelper.Link方法有什麼區別?
- 5. 方法和協議有什麼區別
- 6. 方法`toHaveBeenCalled()`和`andCalledThrough()`有什麼區別?
- 7. nibNameOrNil和ViewDidLoad方法有什麼區別?
- 8. browser.sleep()和browser.wait()方法有什麼區別?
- 9. 服務器端提交與客戶端提交表單有什麼區別
- 10. Git中的樹和提交類型有什麼區別?
- 11. 提交和鎖定虛擬內存有什麼區別?
- 12. 在git中,懸空提交和懸空blob有什麼區別?
- 13. 靜態方法和非靜態方法有什麼區別?
- 14. bootstrap方法和run方法在角度上有什麼區別?
- 15. UITableView方法和等效的UITableViewDatasource方法有什麼區別?
- 16. 本練習中substr方法和slice方法有什麼區別?
- 17. Python中的string方法和str方法有什麼區別?
- 18. 這兩種方法有什麼區別
- 19. url_for方法有什麼區別?
- 20. 各種HTTP方法有什麼區別?
- 21. 這些np.linalg.norm方法有什麼區別
- 22. perror和fprintf與stderr有什麼區別?
- 23. #和。有什麼區別?與CSS?
- 24. AJAX與JavaScript和jQuery有什麼區別?
- 25. 與Task.Run有什麼區別,void方法和Task方法返回null?
- 26. 使用ThreadPool和WaitCallback方法與簡單方法之間有什麼區別
- 27. 交叉熵和遺傳算法有什麼區別?
- 28. 角色提供者中這兩種方法有什麼區別?
- 29. Visual Studio中提供的Publish方法有什麼區別?
- 30. 有什麼區別`和$(Bash中有什麼區別?
'Future'還允許您獲取'Runnable'拋出的異常。 – axtavt 2010-10-25 15:36:17
@axtavt:的確,我猜也應該提一提。 – ColinD 2010-10-25 15:40:14