Метод Thread.join() в Java
Нестатический метод класса Thread join() приостановит выполнение текущего потока до тех пор, пока другой поток не закончит свое выполнение.
void join(long millis) – этот метод приостановит выполнение текущего потока на указанное время в миллисекундах. Выполнение этого метода зависит от реализации ОС, поэтому Java не гарантирует, что текущий поток будет ждать указанное вами время.
Пример использования метода Thread.join():
public class JoinRunnable extends Thread {
    public JoinRunnable(String name) {
        super(name);
    }
    @Override
    public void run() {
        String currentThreadName = Thread.currentThread().getName();
        for (int i = 0; i < 10; i++) {
            System.out.println(currentThreadName + " is running!" + i);
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(currentThreadName + " completed");
    }
}public class JoinExample {
    public static void main(String[] args) {
        JoinRunnable a = new JoinRunnable("A");
        JoinRunnable b = new JoinRunnable("B");
        JoinRunnable c = new JoinRunnable("C");
        a.start();
        try {
            a.join();
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
        }
        b.start();
        c.start();
    }
} Курс 'Java для начинающих' на Udemy
             Курс 'Java для начинающих' на Udemy
         
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.