我有一个 SwingWorker
及其实现:
public Void doInBackground() throws InterruptedException
{
while (true)
{
while(_update)
{
}
}
}
如果 _update 设置为 false,让 EDT 永久循环是否安全?或者我应该让它每秒 hibernate 一次?
--编辑
看起来我没有像应该使用的那样使用 SwingWorker。谢谢大家。我将坚持根据需要创建 SwingWorkers。
最佳答案
让事件调度线程循环运行是不安全的。
需要事件调度线程来提供用户与应用程序的交互。如果您希望事件每隔几秒发生一次,则应在每次完成时将其或其另一个副本放回到事件队列中。
关于Java 线程——Swing 事件调度线程中的永久循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392929/