Beck_Xun 2020-06-03 03:15 采纳率: 100%
浏览 220

一个方法如何多线程并行处理,且处理完告知程序?

问题:

我有一个60000条数据的DataTable,我把他分为500条一个DataTable,然后将这500条数据的DataTable作为参数给到Insert(DataTable dt)方法,怎么将该方法以多线程方式去运行,并且不会导致方法里的相同名称的参数被覆盖?

怎么知道这些线程都运行完成了?

_我现在是这样写的,但是有问题。。。_
 for (int i = 0; i < dt.Rows.Count; i++)
 {
     dt2.ImportRow(dt.Rows[i]);

     if (dt2.Rows.Count == 500 || i == dt.Rows.Count - 1)
     {                           

        Task.Factory.StartNew(() => new InsertTable().Insert(dt2));
        dt2.Rows.Clear();                        
        }
 }

拜托大佬们,看一看,瞧一瞧,帮忙解决一下呗,

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-03 10:51
    关注

    Parallel.For()了解下,自动分配你循环变量
    https://blog.csdn.net/woaipangruimao/article/details/79800587

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料