【发布时间】:2015-04-22 14:16:48
【问题描述】:
我正在我的 UI 线程中调用一个方法。在此方法中创建了一个新线程。我需要 UI 线程等到这个新线程完成,因为我需要这个线程的结果来继续 UI 线程中的方法。但我不想在等待时冻结 UI。有什么方法可以让 UI 线程在不忙于等待的情况下等待?
【问题讨论】:
-
如果 UI 线程等待,则 UI 被冻结:这两个短语的含义完全相同。为什么要让 UI 线程“等待”?你能解释更多你真正想要达到的目标吗?
-
我正在处理的应用程序没有设置为多线程,所以 UI 线程总是在做所有的工作。有一个类充当对服务器的所有调用的瓶颈,我需要向该类添加多线程。但是,我无法访问调用此瓶颈类的对象。
-
对不起,这没有意义。仅使用我在答案中显示的方法有什么问题?
-
我无法返回触发创建线程的调用堆栈。我想要的是 UI 线程在线程完成后继续创建线程的方法中的代码。
-
为什么?对于您要解决的任何问题,这都是错误的解决方案。如果您阻止 UI 线程,则 UI 必然会变得无响应。是什么让您认为您需要这样做?
标签: java multithreading javafx