final Collection coll = Collection.getInstance();
coll.setMap(map);
coll.setProgressBar(progressBar);
coll.start();
new Runnable() { // 这条线程 检查 coll 是否工作完成
public void run() {
boolean flag = true;
while (flag) {
try {
System.out.println("d"); //这里为什么没有输出
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
flag = coll.isFlag();
}
if (!flag) {
System.out.println("ok"); // 这里也没有输出
Stop();
}
}
};
就像是这条线程没有被执行一样,怎么回事丫
------解决方案--------------------
你光定义了一个匿名类,可是我没看到你启动这个线程啊???
你应该
- Java code
new Thread(new Runnable() { // 这条线程 检查 coll 是否工作完成 public void run() { boolean flag = true; while (flag) { try { System.out.println("d"); // 这里为什么没有输出 Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } if (!flag) { System.out.println("ok"); // 这里也没有输出 } } }).start();