【发布时间】:2013-09-04 13:54:14
【问题描述】:
public class suspendCheck extends Thread{
int t ;
public static void main(String args[]) throws InterruptedException {
suspendCheck as = new suspendCheck();
Thread t2 = new Thread(as);
t2.start();
Thread t3 = new Thread(as);
t3.start(); }
public void run(){
if(t==0){
System.out.println("JAVA Develper");
t= ++t;
}
else{
System.out.println("JAVA Test");
}
}
}
多次运行此程序后存在差异和差异:
通常:
JAVA Develper
JAVA Develper
偶尔:
JAVA Develper
JAVA Test
我对此感到震惊。我哪里做错了?
【问题讨论】:
-
欢迎来到线程同步的世界。
-
是的,可以接受。这里唯一可怕的是你试图在不知道它们的限制的情况下使用线程。在这里责备 Java 是不对的。
-
我只是不明白为什么人们给这个问题-1,他只是没有多线程经验
标签: java