package com.brianway.learning.java.multithread.communication.example0;
public class IsAlive extends Thread {
@Override
public void run() {
System.out.println("run---" + this.isAlive());
}
public static void main(String args[]) {
IsAlive isAlive = new IsAlive();
Thread thread = new Thread(isAlive);
System.out.println("begin---" + thread.isAlive());
thread.start(); //[1]
thread.run(); //[2]
isAlive.start(); //[3]
isAlive.run(); //[4]
System.out.println("end---" + thread.isAlive());
}
}
如图所示代码,注释[2] [3] [4]步,则打印:
begin---false
end---true
run---false 这个不懂为什么?
如图所示代码,注释[1] [3] [4]步,则打印:
begin---false
run---false 这个难道是随机的么?可能为true,也可能为false
end---false
如图所示代码,注释[1] [2] [4]步,则打印:这种情况比较好理解
begin---false
end---false
run---true
如图所示代码,注释[1] [2] [3]步,则打印:
begin---false
run---false 为什么使用isAlive.run()的时候,是false呢?
end---false
相关分类