.NET 在多线程并发情况下使用 List<T> 出现错误:计数必须为正

从下图错误提示可以看到,应该是在 List.Remove(string); 的时候出现的错误

应该是多个线程并发的时候出现的,如何避免这样的错误呢?

或者有什么替代类型可以保证是多线程安全的?

图片描述

图片描述

阅读 4.1k
1 个回答

线程同步 一般用lock

private static object _lockobject = new object();

lock(_lockobject){
// 在这里操作list
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏