future.get()会阻塞,感觉这会导致并发多线程变得同步了,因为会在`future.get()`这一步得到结果后再执行
demo如下:
public class FutureDemo { public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService service = Executors.newScheduledThreadPool(3); for (int i = 0; i < 10; i++) { Future<String> submit = service.submit(new Task("" + i)); System.out.println("Future result: " + submit.get()); } } }
可以把所有任务提交到线程池之后,再使用future.get() 尝试获取返回值
Sign in to make a reply
PBC
future.get()会阻塞,感觉这会导致并发多线程变得同步了,因为会在`future.get()`这一步得到结果后再执行
demo如下: