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

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

新手淺談Task異步編程和Thread多線程編程

2019-11-14 15:52:50
字體:
來源:轉載
供稿:網友

初學Task的時候上網搜索,看到很多文章的標題都是task取代thread等等相關,我也一直以為task和thread是一類,其實task是.net4.0提出的異步編程,在之前.net1.0有delegete.beginInoke(XXXX),還有.net2.0中的EAP,在最新的4.5中又有async、await這種新的異步編程。而Thread和Threadpool則是多線程編程。

  

但是Task也是把任務推到線程池中

 1         static void Main(string[] args) 2         { 3             for(int i=0;i<5;i++) 4             { 5                 var task1 = Task.Factory.StartNew(() => Run()); 6                 var task2 = Task.Factory.StartNew(() => Run()); 7                 var task3 = Task.Factory.StartNew(() => Run()); 8                 var task4 = Task.Factory.StartNew(() => Run()); 9             }10             Console.ReadKey();11         }12 13         static void Run()14         {15             Thread.Sleep(100);16             Console.WriteLine("TaskId:{0} ThreadId:{1}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);17         }

運行的結果為:

Task和Threadpool相比,Task能獲取返回值、有更多的控制等,Threadpool占用的資源較小,如果只需要把任務丟到線程池中,其他的都不管的話,就建議使用Threadpool。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳县| 花莲市| 寻乌县| 班戈县| 萨嘎县| 栖霞市| 牙克石市| 威海市| 蒙城县| 健康| 三亚市| 十堰市| 宾川县| 彩票| 甘孜| 阜新| 北京市| 平武县| 青川县| 会同县| 沙雅县| 乐业县| 抚远县| 英吉沙县| 合江县| 伊通| 湾仔区| 临安市| 陆川县| 合川市| 海城市| 阳谷县| 慈利县| 尼玛县| 资阳市| 正镶白旗| 治县。| 商都县| 万州区| 曲阳县| 政和县|