@Override
public void run() {
= reg.();
if ( == 1) {
= 0 ;
System.out.println("3333333");
System.out.println();
} else if ( == 2) {
= 0;
System.out.println("444444444444444");
}
try {
Thread.sleep(300);
} catch (Exception e) {
e.printStackTrace();
}
run();
}执行效果如下
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
TIMED_WAITING
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0本人不明白 明明是0 为什么还进入
if ( == 1) {
= 0 ;
System.out.println("3333333");
System.out.println();
}
这个if 结构
public void run() {
= reg.();
if ( == 1) {
= 0 ;
System.out.println("3333333");
System.out.println();
} else if ( == 2) {
= 0;
System.out.println("444444444444444");
}
try {
Thread.sleep(300);
} catch (Exception e) {
e.printStackTrace();
}
run();
}执行效果如下
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
TIMED_WAITING
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0
3333333
0本人不明白 明明是0 为什么还进入
if ( == 1) {
= 0 ;
System.out.println("3333333");
System.out.println();
}
这个if 结构
在走道这条语句“if ( == 1)”时,成立,然后进入if块,“ = 0 ”把 设为0,System.out.println("3333333")打印3333333,System.out.println()打印,这时候已经是0了
再调线程时重复以上操作