public class oneThread extends Thread {
public void run()
{
System.out.println("geeks ");
try {
Thread.sleep(300);
}
catch (InterruptedException ie) {
}
System.out.println("forgeeks ");
}
public static void main(String[] args)
{
oneThread c1 = new oneThread();
oneThread c2 = new oneThread();
c1.start();
c2.start();
System.out.println(c1.isAlive());
System.out.println(c2.isAlive());
}
}
它的实际输出是->
geeks
true
true
geeks
forgeeks
forgeeks
这是怎么回事?
我希望它是->
geeks
geeks
true
true
forgeeks
forgeeks
最佳答案
有许多合法的执行序列可以产生这种输出。
例如:
其他可能的执行顺序包括:
等等。
这些都是合法行为,在某些平台上你可能会遇到。
关于Java线程输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48986272/