【问题标题】:new Thread created when calling SwingUtilities.invokeAndWait()?调用 SwingUtilities.invokeAndWait() 时创建的新线程?
【发布时间】:2011-05-09 13:08:38
【问题描述】:

Runnable 与SwingUtilities.invokeAndWait() 一起使用时是否创建了新线程?

【问题讨论】:

标签: java multithreading swing


【解决方案1】:

不,当 Runnable 与 SwingUtilities.invokeAndWait() 一起使用时,不会创建新线程。 事件线程将在轮到它时调用 Runnable 的 run() 方法 事件队列。

【讨论】:

  • 如果 AppContext 的 AWT EDT 当前没有运行,那么将创建一个新的 AWT EDT。
【解决方案2】:

invokeAndWait API

使 doRun.run() 在 AWT 事件调度线程上同步执行

【讨论】:

  • 做跑跑跑跑跑跑跑跑跑
  • @Jason S 你是什么意思“a do run run run da do run run”!!
【解决方案3】:

没有。该方法的目的是在 GUI 事件线程上运行 Runnable,我假设您已经这样做了。

【讨论】:

    【解决方案4】:

    简而言之,没有。当前线程阻塞,直到 EventQueue 运行 Runnable。

    【讨论】:

      【解决方案5】:

      导致 doRun.run() 被执行 在 AWT 事件上同步 调度线程。

      不,它会触发 AWT 事件线程(已在 gui 应用程序中运行)上的事件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-22
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 1970-01-01
        • 2017-03-10
        • 2012-03-18
        • 2019-10-27
        相关资源
        最近更新 更多