可能发生的情况是,SignalData在循环期间间接更改了后台的订户字典并导致该消息。您可以通过更改
foreach(Subscriber s in subscribers.Values)
至
foreach(Subscriber s in subscribers.Values.ToList())
如果我说对了,问题就会消失
呼叫
subscribers.Values.ToList()将的值复制
subscribers.Values到的开头
foreach。没有其他人可以访问此列表(它甚至没有变量名!),因此在循环内没有人可以对其进行修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)