/**
* 相当于阻塞住,直到调用join方法的线程结束后,才会往下执行
*/
public class ThreadJoin1 {
public static void main(String[] args) throws Exception{
//t1线程
Thread t1 = new Thread(() -> {
IntStream.range(1, 100).forEach(i -> {
System.out.println(Thread.currentThread().getName() + "--->" + i);
});
});
//t2线程
Thread t2 = new Thread(() -> {
IntStream.range(1, 100).forEach(i -> {
System.out.println(Thread.currentThread().getName() + "--->" + i);
});
});
t1.start();
t2.start();
t1.join(); //相当于阻塞的功能,此处就是阻塞了下面main线程的执行,必须等待t1和t2完成才会继续往下走,此处t1和t2还是并行执行的,因为两个线程都是先去start的然后才join的
t2.join();
//main线程
IntStream.range(1, 100).forEach(i -> {
System.out.println(Thread.currentThread().getName() + "--->" + i);
});
}
}
多线程-join操作
最新推荐文章于 2022-07-31 22:46:35 发布