【发布时间】:2019-01-15 17:33:17
【问题描述】:
我有一个包含 5 个方法的类。在程序的某个时刻,我想同时运行 2 个方法。下图说明了我在说什么。 在 method2() 完成后,我希望 method3() 和 method4() 同时运行。 Method3() 和 method4() 本质上是在做同样的事情,但资源是独立的,因此不必同步。 当 method3() 和 method4() 完成时,我希望 Aux 线程被销毁并且程序返回到主线程。最好的方法是什么?
我尝试调用 ExecutorService,但这似乎创建了与主线程同时运行的线程——而不是暂停主线程。
ExecutorService executorService = Executors.newFixedThreadPool(2);
// method reference introduced in Java 8
executorService.submit(this::method3());
executorService.submit(this::method4());
// close executorService
executorService.shutdown();
【问题讨论】:
标签: java multithreading concurrency