C#源数组长度不足。请检查 srcIndex 和长度以及数组的下限

.net C#多线程导致的Queue队列错误

1, 调用Queue .Enqueue 方法时, 会不定时抛出ArgumentException, 错误消息为"源数组长度不足。请检查 srcIndex 和长度以及数组的下限。" 

2, 调用Queue .Dequeue 方法时, 会不定时返回0或null, 但队列中确从未添加过0或null. 



解决方法:

1)入队、出队加锁,可以使用lock(ojb),参考:http://blog.csdn.net/skywshing/article/details/40374485

2)使用新的线程安全队列,ConcurrentQueue,参考:http://blog.csdn.net/conquerwave/article/details/50830648


你可能感兴趣的:(C#)