Java:异步运行UI线程和工作线程,同时让工作线程向UI线程提供反馈
我有两条线a和b。 a是UI线程,b是非UI线程 我的代码如下所示:Java:异步运行UI线程和工作线程,同时让工作线程向UI线程提供反馈,java,multithreading,asynchronous,ui-thread,Java,Multithreading,Asynchronous,Ui Thread,我有两条线a和b。 a是UI线程,b是非UI线程 我的代码如下所示: } 异步运行线程时出现问题: populateInt()方法仍在线程b上运行,我的线程a正在尝试执行doSomething(),这会产生错误的结果 同步运行线程时出现问题: Java应用程序会动态生成一些代码,用户可能希望调试这些代码。在调试期间,方法populateInt()将控制该代码,UI线程将挂起,从而导致调试挂起 如何在确保线程a在线程b填充“I”后执行doSomething()的同时异步运行线程?您可以使用a在线
} 异步运行线程时出现问题: populateInt()方法仍在线程b上运行,我的线程a正在尝试执行doSomething(),这会产生错误的结果 同步运行线程时出现问题: Java应用程序会动态生成一些代码,用户可能希望调试这些代码。在调试期间,方法populateInt()将控制该代码,UI线程将挂起,从而导致调试挂起
如何在确保线程a在线程b填充“I”后执行doSomething()的同时异步运行线程?您可以使用a在线程之间进行通信。您做得最好。后台线程是可行的,这可能是Holger建议的一个更简单的示例:
start a :
int i;
start b (asynchronously){
populateInt(i);
}
//back to a
if (i = something){
doSomething();