如果我使用Executors.newSingleThreadExecutor()
來得到ExecutorService
,我可以設置執行每個Runnables的超時時間嗎?如果不是,是否有默認值?或者,如果其中一個runnable需要很長時間才能執行,將會阻塞Thread?如果使用Executors對象創建ExecutorService,是否可以設置超時值?
我讀過Android文檔,但它並不完全清楚,我(從Executors.newSingleThreadExecutor() Android的參考):
創建一個使用單個worker線程的無界隊列方式來運行的執行人。 (但是請注意,如果這個單線程在關閉之前由於執行期間的失敗而終止,那麼如果需要執行後續任務,則將取代它。)任務保證按順序執行,並且不會有一個任務處於活動狀態在任何給定的時間。與其他等效的newFixedThreadPool(1)不同,保證返回的執行程序不會被重新配置爲使用其他線程。
感謝您指出使用期貨。 – JAC