线程的加入
程序员文章站
2022-07-12 10:54:37
...
如果当线程为多线程程序,假如存在一个线程A ,现在需要加入一个线程B,并要求线程B先执行完毕,在执行A程序,此时可以用Thread中的join()方法来完成。举个例子就好像你正在吃饭,有个人给你打电话,你扔下筷子去接电话,然后打完电话继续回来吃饭。
下面写一段代码加深理解:
class t implements Runnable
{
public void run()//run方法覆写
{
for(int i=0;i<5;i++)//下面这段代码执行5次
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}//休眠一秒
System.out.println(Thread.currentThread().getName()+"-->"+i);//获取当前线程名字
}
}
}
public class join{
public static void main(String[] args) throws InterruptedException {
Thread t1=new Thread(new t());
t1.setName("t1");//重命名
t1.start();//启动线程
for(int i=0;i<10;i++)
{
System.out.println(Thread.currentThread().getName()+"-->"+i);
if(i==4)
t1.join();//当i=4的时候主线程进入就绪状态,t1线程进入执行状态
}
}
}
执行结果如下:
main-->0
main-->1
main-->2
main-->3
main-->4
t1-->0
t1-->1
t1-->2
t1-->3
t1-->4
main-->5
main-->6
main-->7
main-->8
main-->9
Process finished with exit code 0
代码分析:主线程执行到i=4的时候,开始执行t1线程。
上一篇: 51单片机——DS18B20温度传感器-1总线通讯1.1
下一篇: DS18B20+STOP模式