在没有线程阻塞的情况下回调主线程(Java)

Posted

技术标签:

【中文标题】在没有线程阻塞的情况下回调主线程(Java)【英文标题】:Callbacks to main thread without thread blocking (Java) 【发布时间】:2014-08-02 09:40:51 【问题描述】:

我有一个程序应该管理线程(创建、中断和显示工作线程)。我需要通知主线程关于工作线程中的完成、中断或异常。主线程应该对此事件做出反应,当然它不应该被阻塞。据我所知,它在处理程序类中的 android 中发布的行为。但我不知道如何在 java 中做到这一点。有人可以帮我解决这个问题吗?

【问题讨论】:

我找到了关于与事件调度线程交互的好文章:java.dzone.com/articles/multi-threading-java-swing 【参考方案1】:

如果你的主线程中有一个事件循环,你可以有一个队列,它会轮询以查看是否有任何需要处理的新事件正在等待。如果您使用的是 Swing 或 Android,则已经有一个事件循环和一个您调用的方法来将任务传递给它。

【讨论】:

以上是关于在没有线程阻塞的情况下回调主线程(Java)的主要内容,如果未能解决你的问题,请参考以下文章

Qt:如何在不阻塞主线程的情况下播放声音?

如何在不阻塞主线程的情况下使用 join() 创建多个 C++ 线程?

Java并发编程线程间协作(下)

在不阻塞主线程的情况下更新 tableView

java界面子线程界面阻塞了主线程界面怎么解决?

在 Python 中使用 PyQT 应用程序的主线程中的回调方法启动一个新线程