CompletableFuture详解~runAsync
生活随笔
收集整理的這篇文章主要介紹了
CompletableFuture详解~runAsync
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
運行一個簡單的異步階段
這個例子創建一個一個異步執行的階段:
static void runAsyncExample() {CompletableFuture cf = CompletableFuture.runAsync(() -> {assertTrue(Thread.currentThread().isDaemon());randomSleep();});assertFalse(cf.isDone());sleepEnough();assertTrue(cf.isDone()); }通過這個例子可以學到兩件事情:
CompletableFuture的方法如果以Async結尾,它會異步的執行(沒有指定executor的情況下), 異步執行通過ForkJoinPool實現, 它使用守護線程去執行任務。注意這是CompletableFuture的特性, 其它CompletionStage可以override這個默認的行為。
-------------------------------------------------------------------
runAsync 方法不支持返回值。
//無返回值 public static void runAsync() throws Exception {CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {}System.out.println("run end ...");});future.get(); }總結
以上是生活随笔為你收集整理的CompletableFuture详解~runAsync的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot 自带工具类~断言
- 下一篇: Boost学习之正则表达式--regex