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

首頁 > 學院 > 開發設計 > 正文

C# async await 學習筆記1

2019-11-17 03:12:18
字體:
來源:轉載
供稿:網友

C# async await 學習筆記1

由于我的開發工具為vs.net 2010(.net 4.0),需先做以下兩步才能進行:

1.下載并安裝Async CTP (http://www.microsoft.com/en-us/download/details.aspx?id=9983)

2.添加AsyncCtpLibrary.dll的引用,我用的是Win7在(C:/Users/Administrator/Documents/Microsoft Visual Studio Async CTP/Samples)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace Consoleapplication1{    class PRogram    {        static Task<string> LongTimeTask()        {                      Console.WriteLine("LongTimeTask開始:" + DateTime.Now.ToString() + "  ThreadId:" + Thread.CurrentThread.ManagedThreadId);            Task<string> task = new Task<string>(() => { Thread.Sleep(5000); return "這是任務返回值"; });            task.Start();            Console.WriteLine("LongTimeTask結束:" + DateTime.Now.ToString());            return task;        }        static async void AsyncCall()        {            Console.WriteLine("AsyncCall開始:" + DateTime.Now.ToString() + "  ThreadId:" + Thread.CurrentThread.ManagedThreadId);            string result = await LongTimeTask(); //await調用的方法需要返回Task或Task<T>,且調用await所在的方法要有async關鍵字            Console.WriteLine("AsyncCall:" + result);            Console.WriteLine("AsyncCall結束:" + DateTime.Now.ToString());        }           static void Main(string[] args)        {            Console.WriteLine("Main開始:" + DateTime.Now.ToString() + "  ThreadId:" +Thread.CurrentThread.ManagedThreadId);            AsyncCall();               Console.WriteLine("Main結束:" + DateTime.Now.ToString());                  Console.ReadLine();        }    }}

運行結果:

不知大家注意到,里面的ThreadId是一致的。

需要注意的是,并不是加了async,就是異步了(而是得里面有調用await方法),例如,下面其實是同步執行的

 static async void SyncCall()        {            Thread.Sleep(5000);        }        static void Main(string[] args)        {            Console.WriteLine("Main開始:" + DateTime.Now.ToString());            // AsyncCall();            SyncCall();            Console.WriteLine("Main結束:" + DateTime.Now.ToString());            Console.ReadLine();        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卓资县| 吉木萨尔县| 伊金霍洛旗| 临猗县| 崇明县| 安溪县| 介休市| 文山县| 确山县| 视频| 昌乐县| 报价| 裕民县| 抚顺县| 瑞金市| 江源县| 区。| 平山县| 都匀市| 肇东市| 北票市| 湘阴县| 灌云县| 越西县| 牙克石市| 苏尼特左旗| 永宁县| 同仁县| 邯郸市| 合水县| 德化县| 蛟河市| 宿州市| 库车县| 宜州市| 上饶县| 上林县| 凉山| 武川县| 宜阳县| 云南省|