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
私はこれにぞっとします。どこで私は間違えましたか?