各位求指点,在学习多线程阶段遇到了一点小问题。
当我把while中的loop设置成false时,此代码依旧没有停止循环,我推断是不是while里面不能加for循环,加了就没办法终止?
```java
public class work001 {
public static void main(String[] args) {
cc cc = new cc();
cc.start();
DD dd = new DD(cc);
dd.start();
}
}
class cc extends Thread{
private boolean loop=true;
public void setLoop(boolean loop) {
this.loop = loop;
}
@Override
public void run() {//
while (loop){ ** //当loop值变成false的时候,循环不停止**
for (int i = 0; i <10 ; i++) {
System.out.println(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
};
}
}
}
class DD extends Thread {
private Scanner scanner = new Scanner(System.in);
private cc cc;
public DD(cc cc) {
this.cc = cc;
}
@Override
public void run() {
while (true) {
System.out.println("请输入指令Q表示退出:");
char key = scanner.next().toUpperCase().charAt(0);
if (key == 'A') {
cc.setLoop(false);
System.out.println("c线程退出");
break;
}
}
}
}
```