none
Task.Factory.StartNew()中执行清空集合不起作用

    问题

  • Task.Factory.StartNew(() =>
                                                {

    #if DEBUG
                                                    Stopwatch sw = new Stopwatch();
                                                    sw.Start();
    #endif
                                                    //更新修改或删除数据到数据库
                                                    if (!SqlHelper.DataBaseHelper.ExecuteTransaction(compareSqls, null))
                                                    {
                                                        MessageBox.Show("批量更新学校时出现错误");
                                                        return;
                                                    }
                                                    compareSqls.Clear();
                                                   
    #if DEBUG
                                                    sw.Stop();
                                                    Trace.WriteLine("更新1000条耗时:" + sw.ElapsedMilliseconds);
    #endif
                                                });

    2017年3月22日 6:56

答案

  • Task.Factory.StartNew 这里是一个匿名方法,可否将代码做成实际的方法,调试好了后再用匿名方法,而且这个例子只是做一件事,

    不需要多任务并行处理,用Task.Factory.StartNew有点不合理,写法是对的。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    • 已标记为答案 Marry_qing 2017年3月28日 5:35
    2017年3月22日 10:20
  • 谢谢您的回复,加trycatch之后捕获到异常了。
    • 已标记为答案 Marry_qing 2017年3月28日 5:36
    2017年3月28日 5:36

全部回复

  • 没有更多的关于compareSqls的代码,看不出问题的原因。

    考虑调试一下,看是什么原因。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年3月22日 10:19
  • Task.Factory.StartNew 这里是一个匿名方法,可否将代码做成实际的方法,调试好了后再用匿名方法,而且这个例子只是做一件事,

    不需要多任务并行处理,用Task.Factory.StartNew有点不合理,写法是对的。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    • 已标记为答案 Marry_qing 2017年3月28日 5:35
    2017年3月22日 10:20
  • 因为Task是异步的,你确定执行过Clear后再去检查的吗?

    http://feiyun0112.cnblogs.com/

    2017年3月24日 1:34
    版主
  • 谢谢您的回复,加trycatch之后捕获到异常了。
    2017年3月28日 5:35
  • 谢谢您的回复,加trycatch之后捕获到异常了。
    • 已标记为答案 Marry_qing 2017年3月28日 5:36
    2017年3月28日 5:36
  • 谢谢您的回复,确实是不需要在这里。加trycatch之后捕获到异常了。
    2017年3月28日 5:36