Java等待函数-并发编程

Java等待函数-并发编程,java,Java,我有一个非阻塞方法start(),它进行两个单独的调用,并在返回为future.OnSuccess(){…}时将结果组合在一起。 我想实现一个函数,它将阻止线程等待结果,并在两个子结果都准备好后立即释放它 例如: MyJob job = new MyJob(); job.start(); job.awaitResults(); Result rs = job.getResult(); 你能推荐实现这一目标的最佳方法吗 您能不能不使用线程,然后使用join()而不是waitresults()?例

我有一个非阻塞方法
start()
,它进行两个单独的调用,并在返回为
future.OnSuccess(){…}时将结果组合在一起。

我想实现一个函数,它将阻止线程等待结果,并在两个子结果都准备好后立即释放它

例如:

MyJob job = new MyJob();
job.start();
job.awaitResults();
Result rs = job.getResult();

你能推荐实现这一目标的最佳方法吗

您能不能不使用线程,然后使用join()而不是waitresults()?例如,让MyJob实现可运行,然后实例化一个线程t=新线程(job),然后在有job.awaitResults()的地方执行t.join()?@DanMatthews Grout,谢谢你的回复Dan,请你说得更具体一点,你的答案听起来合理,但我不确定我是否完全理解了。发布MyJob的代码,然后我会发布答案。