我有一个小应用程序,使用BackgroundWorker来一直处理IEnumerator<T> list
。
代码基本上是这样的:
while(true){
foreach(T item in list){
// Process each item and send process
// Add an object in child List ( List<T1> item.Result )
}
Thread.Sleep(500);
}
现在我有一个按钮和一个文本框,它们将直接添加到IEnumerator中。
问题是,在添加按钮后,后台工作器继续处理当前正在处理的项,但在完成该项之后会停止。它不会继续执行。
我如何安全地添加项目到列表中,而不影响后台工作器?除了后台工作器还要添加对象到该项以外。应该采取什么解决方案?
谢谢