111,094
社区成员




private static DbConnection conn;
变量,这一看就知道经不起多线程程序考验。
再比如说代码foreach( var x in list)
{
启动线程处理(x);
}
这显然也会出现问题的,因为变量 i 是被多线程所共享访问的。 TaskRun theRun = new TaskRun(RunType.DiffSourceCheck, htPara);
theRun.SourceNodeDBInfo = SourceNode[0];
theRun.TargetNodeDBInfo = theDataSource;
listNode.Add(theDataSource.DataSourceNodeCode + "," + theDataSource.DataSourceName);
theRun.CheckDataSource = CheckDataSource;
theRun.ThreadID = Guid.NewGuid().ToString();
theRun.ListTaskItem = (from a in theCurTaskInfo.TaskItemList where a.IsSelect select a).ToList<TaskItemInfo>();
theRun.RunnerSuccess += new RunnerEvent(TaskRunnerSuccessEvent);
theRun.RunnerFailure += new RunnerEvent(TaskRunnerFailureEvent);
theRun.SysParameter = SysParameter;
System.Threading.Thread theThread = new System.Threading.Thread(new System.Threading.ThreadStart(theRun.RunTask));
theThread.Name = theRun.ThreadID;
ListAllThread.Add(theThread);
上面的theDataSource是不一样的