최적화는 아니고 스레드 실행과 관련이 있습니다. Java 문서에는 public final synchronized void join(long millis)이 메소드의 주석에 문장이 적혀 있습니다
<p> 이 구현은 {@code this.isAlive}를 조건으로 하는 {@code this.wait} 호출의 루프를 사용합니다. 스레드가 종료되면 {@code this.notifyAll} 메서드가 호출됩니다. 애플리케이션은 {@code Thread} 인스턴스에서 {@code wait}, {@code inform} 또는 {@code informAll}을 사용하지 않는 것이 좋습니다.
굵은 글씨를 보세요. 실제로 스레드가 끝난 후에 호출되는 informAll이 대기를 깨우게 만드는 것입니다. 이는 가상 머신 최적화로 인해 발생하지 않습니다. 이것이 여러분의 혼란에 답이 되기를 바랍니다
최적화는 아니고 스레드 실행과 관련이 있습니다. Java 문서에는
굵은 글씨를 보세요. 실제로 스레드가 끝난 후에 호출되는 informAll이 대기를 깨우게 만드는 것입니다. 이는 가상 머신 최적화로 인해 발생하지 않습니다. 이것이 여러분의 혼란에 답이 되기를 바랍니다public final synchronized void join(long millis)
이 메소드의 주석에 문장이 적혀 있습니다