從主線程調用程序線程:如何發出信號的ExecutorService已完成任務
executorService.submit(new Runnable() { ... });
現在當了Runnable完成執行,有沒有Java標準的信令程序線程,它已完成執行的方式,而不是創建一個新的接口/偵聽器類?
如果信號可以從調用者線程發出,則爲獎勵點。
從主線程調用程序線程:如何發出信號的ExecutorService已完成任務
executorService.submit(new Runnable() { ... });
現在當了Runnable完成執行,有沒有Java標準的信令程序線程,它已完成執行的方式,而不是創建一個新的接口/偵聽器類?
如果信號可以從調用者線程發出,則爲獎勵點。
我不確定你的實現和多少個線程將同時運行,所以這可能不起作用。有一件事你可以看看,就是通過調用一個知道如何更新所需的UI組件的方法來讓runnable自己發出信號。
如果我使用future.get(),調用者線程必須有意識地調用它來查看它是否完成。我的應用程序中的調用者線程恰好是一個UI線程,它不能有任何阻塞操作,但它需要在刷新視圖時接收某種更新。 – garbagecollector
您需要將任務提交到UI線程才能在完成時運行。 UI線程的事件循環將選取任務並運行它。或者你可以在UI線程中安排一個循環任務來定期輪詢未來,直到'isDone'返回true。 –