国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - C# - C#利用Task實(shí)現(xiàn)任務(wù)超時(shí)多任務(wù)一起執(zhí)行的方法

C#利用Task實(shí)現(xiàn)任務(wù)超時(shí)多任務(wù)一起執(zhí)行的方法

2022-02-16 15:10change_4_now C#

這篇文章主要給大家介紹了關(guān)于C#利用Task實(shí)現(xiàn)任務(wù)超時(shí),多任務(wù)一起執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。

前言

其實(shí)Task跟線程池ThreadPool的功能類似,不過寫起來(lái)更為簡(jiǎn)單,直觀。代碼更簡(jiǎn)潔了,使用Task來(lái)進(jìn)行操作。可以跟線程一樣可以輕松的對(duì)執(zhí)行的方法進(jìn)行控制。

創(chuàng)建Task有兩種方式,一種是使用構(gòu)造函數(shù)創(chuàng)建,另一種是使用 Task.Factory.StartNew 進(jìn)行創(chuàng)建。

如下代碼所示

1.使用構(gòu)造函數(shù)創(chuàng)建Task

?
1
Task t1 = new Task(MyMethod);

2.使用Task.Factory.StartNew 進(jìn)行創(chuàng)建Task

?
1
Task t1 = Task.Factory.StartNew(MyMethod);

其實(shí)這兩種方式都是一樣的,Task.Factory 是對(duì)Task進(jìn)行管理,調(diào)度管理這一類的。好學(xué)的伙伴們,可以深入研究。這不是本文的范疇,需要的朋友可以進(jìn)去服務(wù)器之家進(jìn)行學(xué)習(xí)。

本文將充分使用Task的異步功能,下面來(lái)一起看看詳細(xì)的介紹吧。

代碼實(shí)現(xiàn):

1.實(shí)現(xiàn)了任務(wù)超時(shí) 退出任務(wù)

2.多個(gè)任務(wù)一起執(zhí)行

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/// <summary>
///做事 需要 ms秒 才能完成
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
static async Task<string> Doing(int time, string name = "我")
{
 Console.WriteLine(name+"來(lái)了");
 await Task.Delay(TimeSpan.FromMilliseconds(time));
 return string.Format("這活{1}干了:{0}ms ", time,name);
}
/// <summary>
/// 設(shè)定超時(shí)任務(wù) 如果超時(shí)返回
/// </summary>
/// <param name="needTimeOut"></param>
/// <returns></returns>
static async Task<string> TimeOut(bool needTimeOut)
{
 Console.WriteLine(needTimeOut);
 var t=new Stopwatch();
 t.Start();
 var timeOutTask = Task.Delay(150);//1.設(shè)定一個(gè)超時(shí)的任務(wù)
 var doing = Doing(needTimeOut ? 100 : 300);//2. 真正需要執(zhí)行的任務(wù)
 var task = await Task.WhenAny(doing,timeOutTask);//返回任何一個(gè)完成的任務(wù)
 if (task == timeOutTask)//如果超時(shí)任務(wù)先完成了 就返回 很可惜 他沒有完成!
 {
  return "很可惜 他沒有完成!";
 }
 t.Stop();
 Console.WriteLine("耗時(shí):"+t.Elapsed.TotalMilliseconds);
 return await doing;
}
/// <summary>
/// 多任務(wù)一起執(zhí)行
/// </summary>
/// <returns></returns>
static async Task Tasks()
{
 var t = new Stopwatch();
 t.Start();
 var list=new List<string>();
 var t1 = Doing(1000, "1000");//1.定義任務(wù)
 var t2 = Doing(1500, "1500");
 var t3 = Doing(1200, "1200");
 var tasks = new[] {t1, t2, t3};//2.任務(wù)組
 var process = tasks.Select(async tt =>//3.等待任務(wù)結(jié)束 并保存值
 {
  var result = await tt;
  list.Add(result);
 });
 await Task.WhenAll(process);//4.等待處理完全
 foreach (var i in list)//5.查看結(jié)果
 {
  Console.WriteLine(i);
 }
 t.Stop();
 Console.WriteLine("耗時(shí):" + t.Elapsed.TotalMilliseconds);  
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:http://www.cnblogs.com/change4now/p/8012350.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 精品国产区 | 自拍偷拍亚洲一区 | 吴梦梦到粉丝家实战华中在线观看 | 国产成人一区二区在线观看 | 91久久国产 | 青青国产在线 | 成人毛片在线观看视频 | 亚洲精品成人 | 夜夜天天| 日韩成人影院 | 国产精品成人一区 | 一级看片 | 一级毛片国产 | 日韩五月 | 狠狠干最新网址 | 天天操,夜夜操 | 大香伊蕉在人线视频777 | 久久99国产精一区二区三区 | 黄在线看v | 国产色| 99久久夜色精品国产亚洲1000部 | 久久女人 | 国产精品免费一区 | 自拍视频网| 三及毛片| 97成人在线| 亚洲91av| 久色| 国产真实精品久久二三区 | 欧美一区二区久久 | 三区视频 | 亚洲啪啪网站 | 欧美setu| 香蕉av在线 | 韩日免费视频 | 91国视频 | 欧美午夜一区二区三区免费大片 | 99亚洲精品 | 国产精品久久久久久福利一牛影视 | 国产精品久久久久一区二区三区 | 国产午夜精品一区二区三区 |