日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java中的异步等待

發(fā)布時(shí)間:2023/12/3 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中的异步等待 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

編寫(xiě)異步代碼很困難。 試圖了解異步代碼應(yīng)該做什么的難度更大。 承諾是嘗試描述延遲執(zhí)行流程的一種常見(jiàn)方式:首先做一件事,然后再做另一件事,以防萬(wàn)一出錯(cuò)再做其他事情。

在許多語(yǔ)言中,承諾已成為協(xié)調(diào)異步行為的事實(shí)上的方法。 Java 8終于有了該程序,并引入了CompletableFuture; 盡管很認(rèn)真,但誰(shuí)設(shè)計(jì)了API? 一團(tuán)糟 !

許諾的麻煩在于,控制流程可能變得非常簡(jiǎn)單。 隨著控制流程變得越來(lái)越復(fù)雜,幾乎變得難以理解(執(zhí)行此操作,然后,除非是星期三,否則,請(qǐng)執(zhí)行此操作,如果有錯(cuò)誤,請(qǐng)返回三個(gè)空格,yada yada yada)。

很酷的孩子們已經(jīng)開(kāi)始使用異步…等待。 C#擁有它。 JavaScript有它。 現(xiàn)在……現(xiàn)在,通過(guò)EA的一些大才能,Java擁有了它! 是的,Java具有可用的async ... await構(gòu)造,而無(wú)需更改語(yǔ)言!

一個(gè)簡(jiǎn)單的例子:我們可以使用CompletableFuture編寫(xiě)幾個(gè)異步操作,如下所示:

private static void theOldWay() {doAThing().thenCompose(Main::doAnotherThing).thenAccept(Main::reportSuccess).exceptionally(Main::reportFailure); }

這應(yīng)該很簡(jiǎn)單,通常使用期貨代碼與這個(gè)簡(jiǎn)單代碼相去甚遠(yuǎn)。 但是,借助EA異步等待的魔力,我們可以像這樣重新編寫(xiě)它:

private static CompletableFuture<Void> theNewWay() {try {String intermediate = await(doAThing());String result = await(doAnotherThing(intermediate));reportSuccess(result);} catch (Throwable t) {reportFailure(t);}return completedFuture(null); }

它看起來(lái)像同步代碼。 但是對(duì)Async.await的調(diào)用是神奇的。 這些調(diào)用被重新編寫(xiě)(在運(yùn)行時(shí)或構(gòu)建時(shí),如您所愿),以使調(diào)用無(wú)阻塞!

該代碼更易于編寫(xiě),易于閱讀,易于調(diào)試一百萬(wàn)倍,最重要的是它可以自然擴(kuò)展。 隨著代碼變得越來(lái)越復(fù)雜,您可以使用常規(guī)的重構(gòu)工具來(lái)控制它。 使用CompletableFutures,您最終會(huì)繞過(guò)所有這些將來(lái)的對(duì)象,并且在某個(gè)地方,有一天您會(huì)錯(cuò)過(guò)代碼路徑和繁榮! 生產(chǎn)中的一個(gè)免費(fèi)錯(cuò)誤。

因此,即使您堅(jiān)持使用Java,您仍然可以像酷孩子一樣使用async…await!

翻譯自: https://www.javacodegeeks.com/2018/02/async-await-java.html

總結(jié)

以上是生活随笔為你收集整理的Java中的异步等待的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。