温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#怎么使用Task实现并行编程

发布时间:2022-08-29 17:29:33 来源:亿速云 阅读:170 作者:iii 栏目:开发技术

这篇文章主要介绍了C#怎么使用Task实现并行编程的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么使用Task实现并行编程文章都会有所收获,下面我们一起来看看吧。

用代码来说的话, 应该是这样:

// Program.cs using System; using System.Diagnostics; using System.Threading; namespace ConsoleApp1 {     class Program     {         static void Main(string[] args)         {             Console.WriteLine("早起三件事开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Dress();             BrushTeeth();             WashFace();             sw.Stop();             Console.WriteLine($"...早起三件事完成, 总耗时 {sw.Elapsed.Seconds} 秒");             Console.ReadKey();         }         /// <summary>         /// 穿衣         /// </summary>         static void Dress()         {             Console.WriteLine($"穿衣开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 1));             sw.Stop();             Console.WriteLine($"...穿衣完成, 耗时 {sw.Elapsed.Seconds} 秒");         }         /// <summary>         /// 刷牙         /// </summary>         static void BrushTeeth()         {             Console.WriteLine($"刷牙开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 3));             sw.Stop();             Console.WriteLine($"...刷牙完成, 耗时 {sw.Elapsed.Seconds} 秒");         }         /// <summary>         /// 洗脸         /// </summary>         static void WashFace()         {             Console.WriteLine($"洗脸开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 5));             sw.Stop();             Console.WriteLine($"...系列完成, 耗时 {sw.Elapsed.Seconds} 秒");         }     } }

运行之后, 等待一会, 会看到如下输出:

早起三件事开始...
穿衣开始...
...穿衣完成, 耗时 1 秒
刷牙开始...
...刷牙完成, 耗时 3 秒
洗脸开始...
...系列完成, 耗时 5 秒
...早起三件事完成, 总耗时 9 秒

一件一件事慢慢来, 总耗时 9 秒...

赶时间

一看时间, 哎呦我去, 快迟到了, 穿衣 & 刷牙 & 洗脸一起来吧...别问我现实中怎么实现的

总而言之代码是这样滴:

// Program.cs using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; namespace ConsoleApp1 {     class Program     {         static void Main(string[] args)         {             Console.WriteLine("早起三件事开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Task dressTask = Task.Factory.StartNew(action: Dress);             Task brushTeethTask = Task.Factory.StartNew(action: BrushTeeth);             Task washFaceTask = Task.Factory.StartNew(action: WashFace);             Task.WaitAll(dressTask, brushTeethTask, washFaceTask);             sw.Stop();             Console.WriteLine($"...早起三件事完成, 总耗时 {sw.Elapsed.Seconds} 秒");             Console.ReadKey();         }         /// <summary>         /// 穿衣         /// </summary>         static void Dress()         {             Console.WriteLine($"穿衣开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 1));             sw.Stop();             Console.WriteLine($"...穿衣完成, 耗时 {sw.Elapsed.Seconds} 秒");         }         /// <summary>         /// 刷牙         /// </summary>         static void BrushTeeth()         {             Console.WriteLine($"刷牙开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 3));             sw.Stop();             Console.WriteLine($"...刷牙完成, 耗时 {sw.Elapsed.Seconds} 秒");         }         /// <summary>         /// 洗脸         /// </summary>         static void WashFace()         {             Console.WriteLine($"洗脸开始...");             Stopwatch sw = new Stopwatch();             sw.Start();             Thread.Sleep(timeout: TimeSpan.FromSeconds(value: 5));             sw.Stop();             Console.WriteLine($"...系列完成, 耗时 {sw.Elapsed.Seconds} 秒");         }     } }

启动运行之后, 等待一会, 你应该会看到如下输出:

早起三件事开始...
刷牙开始...
洗脸开始...
穿衣开始...
...穿衣完成, 耗时 1 秒
...刷牙完成, 耗时 3 秒
...系列完成, 耗时 5 秒
...早起三件事完成, 总耗时 5 秒

可以看到, 几件事一起干了, 总耗时只用了 5 秒.

关于“C#怎么使用Task实现并行编程”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#怎么使用Task实现并行编程”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI