国产探花免费观看_亚洲丰满少妇自慰呻吟_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();        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 方正县| 德清县| 海林市| 琼结县| 天峻县| 南陵县| 吉首市| 张家界市| 广州市| 花莲市| 合阳县| 汶上县| 正定县| 冕宁县| 五台县| 宣恩县| 溧水县| 仁化县| 钦州市| 昌黎县| 新平| 临江市| 淄博市| 濮阳市| 岚皋县| 海口市| 南宁市| 盱眙县| 同江市| 靖边县| 始兴县| 中卫市| 乡城县| 彭泽县| 泸水县| 达拉特旗| 寿光市| 防城港市| 永善县| 罗江县| 威远县|