
❓ Вопросы по Java на собеседовании
Использование метода join
Метод join позволяет текущему потоку «приостановить» выполнение своего кода и «пропустить» вперед другой поток.
В следующем примере в методе main, выполняющего роль главного потока приложения, создается и стартует отдельный (дочерний) поток объекта ThreadClass. При выполнении метода run поток объекта TestClass приостанавливает свое выполнение на 5 сек. В это время основной поток вызывает метод join() и пропускает вперед дочерний поток. Несмотря на то, что дочерний поток перешел в режим ожидания, основной поток продолжает ожидать его завершения. После завершения функционирования дочернего потока сразу же завершает свою работу и основной поток.
В консоль выводит свое сообщение сначала дочерний поток и переходит в режим ожидания на 5 сек (картинка 2). Через 5 сек. дочерний поток, а следом и основной поток завершают свою работу.
@javatg
Использование метода join
Метод join позволяет текущему потоку «приостановить» выполнение своего кода и «пропустить» вперед другой поток.
В следующем примере в методе main, выполняющего роль главного потока приложения, создается и стартует отдельный (дочерний) поток объекта ThreadClass. При выполнении метода run поток объекта TestClass приостанавливает свое выполнение на 5 сек. В это время основной поток вызывает метод join() и пропускает вперед дочерний поток. Несмотря на то, что дочерний поток перешел в режим ожидания, основной поток продолжает ожидать его завершения. После завершения функционирования дочернего потока сразу же завершает свою работу и основной поток.
В консоль выводит свое сообщение сначала дочерний поток и переходит в режим ожидания на 5 сек (картинка 2). Через 5 сек. дочерний поток, а следом и основной поток завершают свою работу.
@javatg