一. Thread.join的使用及原理
1.代码:
运行结果可能为1,也可能为4,原因: t1,t2,start后来年各个线程都处于就绪状态,cpu分配时间片给两个线程的机率是随机的,线程执行的优先级相等,所以可能先执行t1,也可能先执行t2
2.使用thread.join
这样执行的结果就会始终为4
3.Thread.join的原理
可见调用在主线程中调用子线程的join()方法会让主线程阻塞,直到该子线程运行完,主线程才被唤醒,继续运行。在上述代码中: t1.join()执行时,主线程就不会执行t2.start()代码。
join()的原理就是让主线程wait(),然
线程-线程的基本操作和原理(四)
![](https://img-home.csdnimg.cn/images/20240711042549.png)