Метод 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();
}
}
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.