Collection was modified; enumeration operation may not execute”
这次项目中遇到一个问题, 就是C#程序随机崩溃, 抛出上面的异常。
经过debug后,发现原因是:c#的linq用Where关键字查询列表时,其他线程在操作此列表, 导致Where查询转换为Foreach时抛出异常。
解决办法: 应该有个全局的信号量来负责同步对列表的操作。 在执行Where查询时等待信号量; 在其他线程中设置、复原信号量。