class theThread implements Runnable {
boolean run = true;
@Override
public void run() {
if (run) {
for (int i = 0; i < 10; ++i) {
System.out.println(Thread.currentThread().getName() + "----->" + (i + 1));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} else {
return;
}
}
}
刚刚学到线程,对这个问题很是不解。如果按我这样写的话是不会起到控制线程的作用的,必须把run判断放置在for循环的下面才可以,即:
class theThread implements Runnable {
boolean run = true;
@Override
public void run() {
for (int i = 0; i < 10; ++i) {
if (run) {
System.out.println(Thread.currentThread().getName() + "----->" + (i + 1));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
return;
}
}
}
}
请问各位大佬,这是为什么??