说我有这个:
private static ExecutorService executor = Executors.newFixedThreadPool(1);
executor.execute(() -> {
Thread.sleep(100);
doSomething();
});
由于我正在重用线程,因此如果其他人想使用该线程,则会阻止它。我的问题是-有没有一种方法可以简单地注册一个回调,如下所示:
executor.execute(() -> {
timers.setTimeout(() -> { // imaginary utility
doSomething();
},100);
});
核心Java有可能吗?
答案 0 :(得分:3)
是的,看起来不错,我在Java 10上对其进行了测试:
CompletableFuture.delayedExecutor(1, TimeUnit.MILLISECONDS).execute(() -> {
doSomething();
});