【发布时间】:2014-04-10 13:35:50
【问题描述】:
我有一个小程序向用户展示一个 GUI 来选择一个文件,然后程序会根据文件内容执行并相应地显示结果。
这是在主线程中运行的循环(main() 方法):
do {
args = fg.getFile();
} while (!fg.started);
fg.started 是一个布尔变量,当用户选择一个文件并按下“开始”按钮时设置为 true。
但是,除非我将随机任务放入循环中,否则这不起作用:
do {
args = fg.getFile();
System.out.println("");
} while (!fg.started);
这行得通。
谁能解释一下这是为什么?
我知道一个涉及 Thread 类的解决方案,包括 notify() 和 wait() 等,但现在我只是对此感到好奇。
【问题讨论】:
标签: java multithreading loops user-interface