setTimeout的使用Java线程

问题描述 投票:4回答:1

说我有这样的:

  private static ExecutorService executor = Executors.newFixedThreadPool(1);

  executor.execute(() -> {
     Thread.sleep(100);
      doSomething();
  });

因为我重用一个线程,我阻止它,如果别人要使用的线程。我的问题是 - 有没有办法简单地注册一个回调,这样的事情:

   executor.execute(() -> {
        timers.setTimeout(() -> {  // imaginary utility
             doSomething();
        },100);
   });

这可能与核心Java?

java multithreading
1个回答
3
投票

是啊,它看起来像这工作得很好,我测试了Java的10:

CompletableFuture.delayedExecutor(1, TimeUnit.MILLISECONDS).execute(() -> {
    doSomething();
});
© www.soinside.com 2019 - 2024. All rights reserved.