Discuss / Java / future.get()会阻塞

future.get()会阻塞

Topic source

PBC

#1 Created at ... [Delete] [Delete and Lock User]

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());        }
    }
}

不惑之年

#2 Created at ... [Delete] [Delete and Lock User]

可以把所有任务提交到线程池之后,再使用future.get() 尝试获取返回值


  • 1

Reply