這純粹是一個理論問題,因爲我不確定引起此問題的條件是否會很常見。如何在Join()被調用之前停止線程返回
比方說你有,你踢掉它線程的啓動方法:直接後
Thread c = new Thread();
c.start();
然後,調用線程上的join()方法來告訴你在等待的方法直到線程被執行繼續。
c.join();
這難道不是一種可能性,即線程可能被執行和完成的連接方法被調用之前,因此離開該方法不知道它必須等待C到完成它繼續之前?我想你可以在調用start()方法之前嘗試調用join()方法,但是無論何時在測試用例中嘗試過,都會出現錯誤。
任何人都知道可能的解決方案,或者JVM如何處理它?正如我所說我沒有能夠觸發這種情況,但理論上有可能...
爲什麼它是一個問題? – 2012-02-09 15:12:07
在別人認爲的答案中,推斷任何其他線程上的join()僅僅是調用線程的標準檢查都不會有錯。 – soufrk 2017-07-16 07:41:05