国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

[C#]async/Await使用小計(jì)

2019-11-14 16:47:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

如果指定使用 異步 或 異步 修飾符,方法是異步方法,可以實(shí)現(xiàn)以下兩個(gè)函數(shù)。 
? 單異步方法可以使用 Await 或指定的 等待 懸掛點(diǎn)。  等待運(yùn)算符通知編譯器異步方法不能繼續(xù)點(diǎn)的過(guò)去,直到等待的異步過(guò)程完成 同時(shí),控制權(quán)交還異步方法的調(diào)用方。
一個(gè)異步方法的備用在等待表達(dá)式的不構(gòu)成從方法的退出,并且,finally 塊不會(huì)運(yùn)行。 
? 清單異步方法本身可以通過(guò)調(diào)用它的方法等待。 
異步方法通常包含等待運(yùn)算符的一個(gè)或多個(gè)匹配項(xiàng),但是,請(qǐng)假等待表達(dá)式不會(huì)導(dǎo)致編譯器錯(cuò)誤。  如果異步方法不會(huì)將等待運(yùn)算符指示懸掛點(diǎn),方法盡管"修飾符執(zhí)行,一個(gè)同步方法。 編譯器會(huì)發(fā)出此類(lèi)方法的警告。

異步方法旨在成為非阻塞操作。  當(dāng)?shù)却娜蝿?wù)運(yùn)行時(shí),在異步方法的一個(gè)等待表達(dá)式不會(huì)阻止當(dāng)前線程。 相反,該表達(dá)式注冊(cè)該方法的其余部分作為繼續(xù)并返回控制對(duì)異步方法的調(diào)用方。

異步和等待關(guān)鍵字不會(huì)導(dǎo)致其他線程創(chuàng)建。  因?yàn)楫惒椒椒ū旧聿⒉粫?huì)運(yùn)行的線程,異步方法不需要多線程。 只有 + 當(dāng)方法處于活動(dòng)狀態(tài),則方法在當(dāng)前同步上下文中運(yùn)行并使用在線程的時(shí)間。 可以使用 Task.Run 移動(dòng) CPU 工作移到后臺(tái)線程,但是,后臺(tái)線程不利于等待結(jié)果變得可用處理。

以異步編程的基于異步的方法優(yōu)于于幾乎每個(gè)用例的現(xiàn)有方法。  具體而言,此方法比 IO 操作的 BackgroundWorker 好,因?yàn)榇a更為簡(jiǎn)單的,因此無(wú)需防止?fàn)幱脳l件。 與 Task.Run的組合,異步編程的 CPU 操作的 BackgroundWorker 好,因?yàn)楫惒骄幊虖?Task.Run 傳輸?shù)骄€程池的工作分隔運(yùn)行您的代碼以協(xié)調(diào)詳細(xì)信息。 ——MSDN

其實(shí)按照我的理解”async”標(biāo)記的方法,告訴編譯器方法內(nèi)有Await ,而當(dāng)程序運(yùn)行到Await 代碼塊的時(shí)候,將會(huì)作為異步處理,當(dāng)異步處理完成后,繼續(xù)處理下面代碼。期間不會(huì)造成期阻塞線程以及UI無(wú)響應(yīng)的情況。

1.普通示例

using System;using System.Threading;using System.Threading.Tasks;namespace Consoleapplication19{    class PRogram    {        static void Main(string[] args)        {            AsyncText();            Console.ReadLine();        }        static async void AsyncText()        {            Console.WriteLine("--------------AsyncText Start------------");            await Task.Run(() =>            {                Thread.Sleep(5000);                Console.WriteLine("--------------AsyncText.....------------");            });            Console.WriteLine("--------------AsyncText End------------");        }    }}

代碼效果

image


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 云霄县| 平度市| 浙江省| 沁源县| 洪泽县| 青田县| 凉山| 宜章县| 拉孜县| 盐城市| 余姚市| 巧家县| 全州县| 宕昌县| 秦皇岛市| 茂名市| 正定县| 兴业县| 郯城县| 松滋市| 铜鼓县| 曲阳县| 定安县| 和田市| 宿迁市| 赣榆县| 彰化市| 资兴市| 浦北县| 金乡县| 潼关县| 响水县| 阿尔山市| 金坛市| 郁南县| 鲜城| 博爱县| 中卫市| 广平县| 武威市| 台南县|