Java 线程——Swing 事件调度线程中的永久循环

标签 java multithreading events swing dispatch

我有一个 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/

相关文章:

c++ - WINAPI CreateThread 并不总是运行线程

c++ - Winsock 接受事件有时会停止发出信号 (WSAEventSelect)

java - 当窗口失去焦点时隐藏 JDialog 窗口

java - 使用 Map Reduce 的最小最大计数

java - 执行器服务在未等待任务完成的情况下终止

java - 如何创建一个 Java 程序来检查您的密码是否安全?

c# - 关闭多线程应用程序

python - 在蒙版图像pygame上检测鼠标事件

java - Hibernate 4升级,COMMIT未发出

java - 带数字键的枚举