CompletableFuture的一个使用坑点
程序:
CompletableFuture<String> robotLimit1 = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "2";
}, ThreadPoolUtils.EXECUTOR);
如果使用自定义的线程池执行任务,如果线程池的大小不大,如果任务超过线程池的大小,使用了拒绝策略,那么这个时候get这个future对象会出现阻塞现象,线程就会hang在这个地方
浙公网安备 33010602011771号