Javaのスレッドを使用したsetTimeout

user5047085:

私はこれを持っていると言います。

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

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

私はスレッドを再利用していますので、他の人が糸を使用したい場合、私はそれをブロックしています。私の質問は - 単にコールバックを登録する方法、このようなものがあります:

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

これは、コアJavaで可能ですか?

user5047085:

うん、それは私がJavaの10でそれをテストし、この作品の罰金のようになります。

CompletableFuture.delayedExecutor(1, TimeUnit.MILLISECONDS).execute(() -> {
    doSomething();
});

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=190647&siteId=1