java判断线程结束_java中如何判断一个线程是否结束

140193819380800836d3f87598ae3a9a.png

我们可以通过调用thread.Join()方法,把要判断的线程加入到当前线程中,这样可以将两个交替执行的线程合并为顺序执行的线程。如果顺利执行,则说明该线程未结束。

(视频教程推荐:java视频)

比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //调用join方法,等待线程t执行完毕

t.join(1000); //等待 t 线程,等待时间是1000毫秒。

具体代码:public class TestJoin implements Runnable {

public static void main(String[] sure) throws InterruptedException {

Thread t = new Thread(new TestJoin());

long start = System.currentTimeMillis();

t.start();

t.join(1000);//等待线程t 1000毫秒

System.out.println(System.currentTimeMillis()-start);//打印出时间间隔

System.out.println("Main finished");//打印主线程结束

}

@Override

public void run() {

// synchronized (currentThread()) {

for (int i = 1; i <= 5; i++) {

try {

sleep(1000);//睡眠5秒,循环是为了方便输出信息

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println("睡眠" + i);

}

System.out.println("TestJoin finished");//t线程结束

}

//}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值