当前位置:   article > 正文

CompletableFuture详解~runAsync_completablefuture.runasync

completablefuture.runasync

运行一个简单的异步阶段

这个例子创建一个一个异步执行的阶段:

  1. static void runAsyncExample() {
  2. CompletableFuture cf = CompletableFuture.runAsync(() -> {
  3. assertTrue(Thread.currentThread().isDaemon());
  4. randomSleep();
  5. });
  6. assertFalse(cf.isDone());
  7. sleepEnough();
  8. assertTrue(cf.isDone());
  9. }

通过这个例子可以学到两件事情:

CompletableFuture的方法如果以Async结尾,它会异步的执行(没有指定executor的情况下), 异步执行通过ForkJoinPool实现, 它使用守护线程去执行任务。注意这是CompletableFuture的特性, 其它CompletionStage可以override这个默认的行为。

-------------------------------------------------------------------

runAsync 方法不支持返回值。

  1. //无返回值
  2. public static void runAsync() throws Exception {
  3. CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
  4. try {
  5. TimeUnit.SECONDS.sleep(1);
  6. } catch (InterruptedException e) {
  7. }
  8. System.out.println("run end ...");
  9. });
  10. future.get();
  11. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/824202
推荐阅读
相关标签
  

闽ICP备14008679号