C#背景工人-使用列表报告进度<;员工>; 看到我的代码了吗
如果希望将列表作为UserState,则传递列表并删除对象数组C#背景工人-使用列表报告进度<;员工>; 看到我的代码了吗,c#,backgroundworker,C#,Backgroundworker,如果希望将列表作为UserState,则传递列表并删除对象数组 m_oWorker.ReportProgress(i, oEmp); 您仍然需要同步对列表的访问,没有创建副本,您仍然有两个线程试图访问它。如何使此函数线程安全m\u oWorker\u ProgressChanged我是否应该使用lock关键字…….它是否有效?@Mou是的,确实有效。 void m_oWorker_ProgressChanged(object sender, ProgressChangedEventArgs
m_oWorker.ReportProgress(i, oEmp);
您仍然需要同步对列表的访问,没有创建副本,您仍然有两个线程试图访问它。如何使此函数线程安全
m\u oWorker\u ProgressChanged
我是否应该使用lock关键字…….它是否有效?@Mou是的,确实有效。
void m_oWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
List<Employee> oEmp = (List<Employee>)e.UserState;
lblStatus.Text = "Processing......" + e.ProgressPercentage.ToString() + "%";
}
m_oWorker.ReportProgress(i, oEmp);