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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄冈市| 凭祥市| 达州市| 乌拉特后旗| 阿克陶县| 南华县| 通道| 周宁县| 微博| 林口县| 东阿县| 梁山县| 玛曲县| 嘉兴市| 宣武区| 惠东县| 顺昌县| 沧源| 南岸区| 诏安县| 曲麻莱县| 项城市| 饶阳县| 宜春市| 城固县| 武邑县| 阿拉善右旗| 葫芦岛市| 噶尔县| 平湖市| 德惠市| 久治县| 彭州市| 博罗县| 游戏| 定边县| 台东县| 历史| 慈利县| 崇文区| 新平|