Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:异步运行UI线程和工作线程,同时让工作线程向UI线程提供反馈_Java_Multithreading_Asynchronous_Ui Thread - Fatal编程技术网

Java:异步运行UI线程和工作线程,同时让工作线程向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在线

我有两条线a和b。 a是UI线程,b是非UI线程

我的代码如下所示:


} 异步运行线程时出现问题: 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();