当前位置:编程学习 > C#/ASP.NET >>

求一段关于并发的c#代码

举例子

原来的程序:

public class eat
{
    public void getfood()
      {
         getcake();  //20秒
         getwater(); //20秒
         getbread(); //20秒
         getrace();  //20秒
      }
}

getfood方法中的四个方法互不干涉,怎样用多线程技术 让它们并行执行?那样就不用20+20+20+20=80秒,而是同时的 20秒!

注意getfood类中四个字方法,均引用了另一个工具类 中的static方法,catch(),注意线程安全。

希望大家能给个例子,别给我伪代码啊,哈哈。 --------------------编程问答-------------------- 这个属于并行么

百度下 --------------------编程问答-------------------- --------------------编程问答-------------------- using System.Threading.Tasks;

List<Action> list = new List<Action>()
{
    () => getcake(), () => getwater(), () => getbread(), () => getrace()
};
Parallel.For(0, 3, x => list[x]());


是不是能在20秒内运行完毕,要看线程占用 CPU 和同步资源的情况。

对于单CPU并且满负荷的程序,不可能提高4倍速度,相反还要80秒。不然没有必要搞多核CPU了,都多写些线程就可以了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,