java - SwingWorker 中的 thread.sleep()

标签 java multithreading sleep swingworker

我只是想知道下面的代码是否正确。我有一个 SwingWorker,它可以执行某些操作、 sleep 、执行其他操作并更新 GUI。在 SwingWorker 中使用 Thread.sleep 可以吗?

class MySwingy extends SwingWorker<Void, Void> {

    @Override
    public Void doInBackground() {

        //Do Something

        try {
            Thread.sleep(200);
        } catch (Exception ex) {
        }

        //Do Something

    }

    @Override
    public void done() {
        //Update GUI
    }
}

最佳答案

如果您确实需要这样做,没有任何技术原因不能这样做。将阻塞的线程是后台线程,您的 UI 不会阻塞。

但是我可以问为什么你需要在后台线程中 hibernate 吗?也许您的设计可以改进以消除这种需求?

关于java - SwingWorker 中的 thread.sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9625381/

相关文章:

java - 在 Spring Controller 中维护相同的 session

java - 我只能使用 "for"循环

java - Java中如何处理 `Tue May 31 17:46:55 +0800 2011`这个日期格式?

c - Windows 中的多线程 - 创建函数指针数组时出错

c# - 在运行内部代码之前,在锁之前和锁内设置 "double check"是否可以?

ios - 有没有办法检查 iOS 设备是否已锁定/解锁?

java - 在 PreferenceActivity 中显示 ProgressDialog

c++ - 如何实现线程向我的游戏添加计时器?

c++ - Qt检测计算机何时进入休眠状态?

iphone - 将 iPhone sleep 与所有其他 applicationWillResignActive 场景分开