Thread的join方法是用來等待一個線程執行完畢的方法。當一個線程調用另一個線程的join方法時,它會等待該線程執行完畢后再繼續執行。
具體原理如下:
當一個線程調用另一個線程的join方法時,當前線程會進入到等待狀態,直到被調用的線程執行完畢。
被調用的線程執行完畢后,會調用notifyAll方法喚醒等待的線程。
被調用的線程執行完畢后,會釋放掉自己的鎖,從而使得等待的線程可以獲得鎖繼續執行。
需要注意的是,join方法只能等待一個線程執行完畢,如果需要等待多個線程執行完畢,可以使用CountDownLatch或者CyclicBarrier等多線程協調工具。