相信很多人会遇到这种情况:如何让两个线程有顺序的执行?
1.join()方法
2.线程池
3.。。。
今天我们就介绍一下join()方法。
join()方法:把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行。
比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
举例:
小亮去食堂打饭,有一个美女插队到小亮前面去打饭,美女打完饭,小亮才能打饭。
join()方法源码:
当main主线程调用g的join()方法时,main线程会获得线程对象g的锁,调用该对象的wait(等待时间)方法,直到该对象唤醒main线程
备注:join(0)不是等待0秒,而是无限时间。
join()方法只会使主线程进入等待池并等待该线程执行完毕后才会被唤醒,并不影响同一时刻处在运行状态的其他线程。
网友评论