这是我现有的代码,它将一些数据保存到多个表中
using (SqlConnection conn = new SqlConnection("myConnString"))
{
DoWork1(conn);
DoWork2(conc);
DoWork3(conn);
}
为了加快我的代码速度,所以我尝试获得 .net TPL 支持,我重新挂起我的代码,如下所示
using (SqlConnection conn = new SqlConnection("myConnString"))
{
ParallelOptions pw = new ParallelOptions();
pw.MaxDegreeOfParallelism = Environment.ProcessorCount;
Parallel.Invoke(pw,()=> DoWork1(conn),()=> DoWork2(conc),()=> DoWork3(conn));
}
但这会在我的数据访问层中的 ExecuteNonQuery() 方法中引发内部连接致命错误异常。我的并行方法是否错误?