我了解一个Dictionary对象的边界错误之外的Index的主要原因之一是线程冲突. (同时读写相同的字典)但是,我遇到了一个令人困惑的情况,即线程冲突不够充分.
这是情况:
我已经编写了以不安全的方式实现Dictionary的代码,用于多线程处理.
代码已经作为Web服务实现到服务器A和服务器B的两个服务器上.通过负载平衡器访问服务器,负载平衡器将以循环方式向服务器A和B发送请求.
现在这里是棘手的部分.该错误仅显示在服务器A上,从不在服务器B上显示.根据我们的硬件团队,两台服务器是一样的.虽然线程冲突固有地是一个随机过程,但它仍然会同时影响我的服务器.我在一个服务器上看到错误的50个实例,另外一个是0.统计上不可能的是,线程冲突只发生在我的一个服务器上,而另一个运行无错误.