gpt4 book ai didi

java - 这段代码会在 UI 线程中运行吗?

转载 作者:行者123 更新时间:2023-12-02 07:41:01 26 4
gpt4 key购买 nike

例如,我的UI线程执行一个SwingWorker线程,称为A。在A线程的done()函数中,它创建了一个SwingWorker线程B。现在,线程B的done()函数中的代码正在运行在 UI 线程还是线程 A 上?

这是有道理的,代码应该在线程 A 上运行,但是如果我不在线程 A 中调用 get() 函数,线程 A 将不会等待线程 B,线程 A 可能会完成其任务。如果线程 B 现在执行 did() 函数中的代码,则线程 A 尚不存在。那么这种情况下代码该如何处理呢?

最佳答案

根据 SwingWorker API文档中,SwingWorker#done() 在 Swing 事件调度线程 (EDT) 上运行。对于您上面提到的两个 done() 方法都是如此。您知道,使用 SwingUtilities.isEventDispatchThread() 方法可以轻松找到答案。

关于java - 这段代码会在 UI 线程中运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11600987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com