asdddddd1
2017-02-07 14:42
采纳率: 100%
浏览 3.2k

c# 关于一个任务分配多个线程(挺着急的)

描述:假如有5w条数据,数据格式是商品id、商品的价格,在5w数据中,可以重复出现。
现在就是想循环处理,将重复的id的价格合并在一起,for循环的话,时间太长了,想着
能不能用将这5w数据分配给5个线程,分别处理,还要保证每个线程处理都不相同。
小弟,没接触过线程,特请教大神!,最好能贴上你的代码!

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • kevin529_super 2017-02-08 00:43
    已采纳

    class Program
    {
    static void Main(string[] args)
    {
    Task thread1 = Task.Factory.StartNew(() =>
    {
    th1(0,25000);
    });
    Task thread2 = Task.Factory.StartNew(() =>
    {
    th2(25001, 50000);
    });
    Task.WaitAll(thread1,thread2);
    Console.WriteLine("處理完成!");
    Console.ReadKey();
    }
    public static void th1(int beginNum ,int endNum)
    {
    for(int i=beginNum;i<=endNum;i++){
    Console.WriteLine("線程1處理了第"+i+"行數據");
    }
    }
    public static void th2(int beginNum, int endNum)
    {
    for (int i = beginNum; i <= endNum; i++)
    {
    Console.WriteLine("線程2處理了第" + i + "行數據");
    }
    }

    }这里只声明了两个线程,要是想多个也可以依次声明就好,线程不是越多越好,根据自己电脑配置声明数量。要是还是不懂的可以百度Task,很多说明的

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • devmiao 2017-02-07 15:14

    C# 4.0的话,直接用task分配线程,采纳姐姐的回答,姐姐给你一个例子代码哦

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题