您现在的位置是:首页 > 文章详情

C#多线程实例之Parallel.Invoke()

日期:2018-11-12点击:398

简介

如何让代码执行得更快,如何充分发挥多核CPU的性能,是程序员需要思考的问题. 本文通过简单易懂的实例,让大家快速了解C#多线程的基本方法.

参考文档:http://www.cnblogs.com/yunfeifei/p/3993401.html

实例

using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; namespace parallelInvoke { public class program { public static void Main(String[] args) { parallelInvokeMthod pi = new parallelInvokeMthod(); pi.Method1(); pi.Method2(); } } class parallelInvokeMthod { private Stopwatch stopWatch = new Stopwatch(); // Run1 taks 1s public void Run1() { Thread.Sleep(1000); Console.WriteLine("Run1 = 1s" ); } // Run2 taks 3s` public void Run2() { Thread.Sleep(3000); Console.WriteLine("Run2 = 3s"); } // Run1 and Run2 take 4s by using Parallel.Invoke() public void Method1() { stopWatch.Start(); Parallel.Invoke(Run1,Run2); stopWatch.Stop(); Console.WriteLine("Method1 total run time is " + stopWatch.ElapsedMilliseconds +" ms"); } //Run1 and Run2 take 6s by using normall method public void Method2() { stopWatch.Restart(); Run1(); Run2(); stopWatch.Stop(); Console.WriteLine("Method2 total run time is " + stopWatch.ElapsedMilliseconds+" ms"); } } }

执行结果

Run1 = 1s Run2 = 3s Method1 total run time is 3000 ms Run1 = 1s Run2 = 3s Method2 total run time is 3999 ms

说明

  • 本例中, Run1执行1s, Run2执行3s, 采用Parallel.Invoke()方法,使之并行执行, 总共耗时3s.
  • 如果按照Method2()方法,顺序执行Run1和Run2,则总共需要4s.
原文链接:https://yq.aliyun.com/articles/668145
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章