抱歉,不是一个非常专业的问题,但是我是Java和线程编程概念的新手。如果线程是睡眠还是等待中,它是否还活着?在这两种情况下,将返回thread.isAlive()True or False的东西是什么?
它仍然存在,只是没有运行。
从文档中:
测试此线程是否仍然存在。如果线程已经启动但尚未死亡,则该线程是活动的。
刚刚处于睡眠或等待状态的线程尚未死亡(run
正常或突然都未退出其方法),因此isAlive
将返回true。
当然,这很容易测试:
public class Test {
public static void main(String[] args) throws Exception {
Runnable runnable = new Runnable() {
@Override public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
}
};
Thread thread = new Thread(runnable);
thread.start();
// Give the new thread plenty of time to really start
Thread.sleep(5000);
System.out.println(thread.isAlive());
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句