0
我有一個線程A,它運行另一個線程B. 線程A實現了一個方法「stopExec()」,它試圖完全退出線程B - 允許它完成一些任務。所以我stopExec方法看起來是這樣的:CountDownLatch在嘗試等待時拋出異常()
private CountDownLatch lock;
public void stopExec() {
lock = new CountDownLatch(1);
threadB.finish();
try {
lock.await();
} catch(InterruptedExcetion ie) {
Log.d(null, "Thread A not locked.");
}
Log.d(null, "Finished.");
}
線程B具有參考線程A和調用 「threadA.lock.countDown();」當它完成了它所做的任何事情。
發生異常時發生了什麼......線程A不會等待,而只是繼續。 有人可以解釋我爲什麼/我做錯了什麼。 我在其他情況下以類似的方式使用了CountDownLatch,並且它按預期工作。
謝謝!
我刪除了標籤'android' - 這個問題不是關於** android ** – Andremoniy
顯示threadB代碼 – Blackbelt
顯示threadA代碼以及 – Blackbelt