[quote=引用 2 楼 wyd1520 的回复:] [quote=引用 楼主 threadroc 的回复:] lock(Queue) { //code here; } 我用lock锁住一个队列,让1000个线程,访问这个队列的时候,能1个1个取,使其不至于2个线程取到同一个对象. 可是问题就来了,仅仅这么锁住还不行,会造成死锁.于是部分线程就返回不回来,然后就会丢失一部分数据. 求大神指教,怎么让这段代码,既让多线程访问,既可以同步,又不早成死锁呢?小弟,在这里先谢过了.
[quote=引用 楼主 threadroc 的回复:] lock(Queue) { //code here; } 我用lock锁住一个队列,让1000个线程,访问这个队列的时候,能1个1个取,使其不至于2个线程取到同一个对象. 可是问题就来了,仅仅这么锁住还不行,会造成死锁.于是部分线程就返回不回来,然后就会丢失一部分数据. 求大神指教,怎么让这段代码,既让多线程访问,既可以同步,又不早成死锁呢?小弟,在这里先谢过了.
lock(Queue) { //code here; } 我用lock锁住一个队列,让1000个线程,访问这个队列的时候,能1个1个取,使其不至于2个线程取到同一个对象. 可是问题就来了,仅仅这么锁住还不行,会造成死锁.于是部分线程就返回不回来,然后就会丢失一部分数据. 求大神指教,怎么让这段代码,既让多线程访问,既可以同步,又不早成死锁呢?小弟,在这里先谢过了.
110,533
社区成员
642,574
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧