這次要分享的是C#Task任務(wù)的幾個列子,感覺最實用的是封裝的分頁任務(wù)執(zhí)行方法,這個方法步奏也是目前在我工作中執(zhí)行多任務(wù)常用的,不知道各位也有這用的情況,那么開始吧。
成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,公司自成立以來始終致力于為企業(yè)提供官網(wǎng)建設(shè)、移動互聯(lián)網(wǎng)業(yè)務(wù)開發(fā)(重慶小程序開發(fā)公司、手機網(wǎng)站建設(shè)、app軟件定制開發(fā)等),并且包含互聯(lián)網(wǎng)基礎(chǔ)服務(wù)(域名、主機服務(wù)、企業(yè)郵箱、網(wǎng)絡(luò)營銷等)應(yīng)用服務(wù);以先進完善的建站體系及不斷開拓創(chuàng)新的精神理念,幫助企業(yè)客戶實現(xiàn)互聯(lián)網(wǎng)業(yè)務(wù),嚴(yán)格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致贊譽。
1.順序任務(wù)執(zhí)行
View Code
上面的代碼中也備注了一些文字說明,其中有關(guān)鍵詞語及意思如下:
.Task.Factory.StartNew:創(chuàng)建一個Task實例,創(chuàng)建后自動開啟,無需在調(diào)用Start;
.ContinueWith:看單詞的意思就明了,是繼續(xù)的意思,在這里的效果也是等待上一個Task執(zhí)行完畢了在繼續(xù)執(zhí)行本次任務(wù),這里方法里面每個任務(wù)是一層一層傳遞的
效果圖:
這里有個地方注意,sleep這是了5s但是這里使用Stopwatch統(tǒng)計出來只有4999ms,這個地方存在差異性,本章不解釋,有興趣朋友可以分享下或研究下。
2.并行任務(wù)效果
View Code
關(guān)鍵詞語及意思如下:
.Func<object, int>這個是C#新增的特性,這個和Action最大的區(qū)別就是Func有返回值,其他的和Action相同任意長度參數(shù)個數(shù)和類型
.Task.WaitAll這個方法有幾個重載,這里用的是一個超時時間的方法,設(shè)置時間后在規(guī)定的時間就不繼續(xù)等待Task【】了,如果task【】在超時時間范圍內(nèi)就執(zhí)行完了,那么直接通過,不用再等待超時時間
效果:
這里依然有統(tǒng)計時間查問題,忽略
3.分頁任務(wù)執(zhí)行方法
View Code
測試代碼:
View Code
View Code
這里使用的是分頁的原理,把參數(shù)集合分發(fā)到創(chuàng)建的Task中,使用Task【】來處理這些數(shù)據(jù),這里和第二個例子有點相識就多了分頁寫法而已,最后統(tǒng)計執(zhí)行成功的條數(shù),以此來返回給調(diào)用者,方便記錄日志,此方法目前是我經(jīng)常使用的,不知道是否還有更好的,各位多多分享,謝謝。
效果圖:
本文題目:Task三個列子的分享
URL分享:http://chinadenli.net/article40/goheho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、App設(shè)計、靜態(tài)網(wǎng)站、軟件開發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)