![]() |
1
8
这里没有太多的代码,但我最好的猜测是
live-lock
问题。如果
注意如何
|
![]() |
2
4
如果你能使用.NET 4,你最好使用
|
![]() |
3
2
设计没有错。
使用时出现问题
可以用
|
![]() |
4
1
而且,你应该知道
|
![]() |
5
1
使用提供的代码示例很难判断。
在Mediator类和producer类中提供更多细节之前,这是一个疯狂的猜测。似乎有些线程在你不希望锁的情况下控制着它。一旦你发出脉冲,你需要通过退出“lock”作用域来释放线程中的锁。所以,如果你在介质中的某个地方有锁,然后调用Pulse,你需要退出锁所在的最外层范围,而不仅仅是Pulse中的那个。 |
![]() |
6
1
你能重构成一个普通的消费者/生产者队列吗?这样就可以在一个类中处理加密、解密和线程信号,所以不需要传递公共锁。然后,可以通过委托来处理消隐过程。如果你愿意,我可以举个例子。 |
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 9 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 9 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 9 月前 |
![]() |
András Takács · Python多线程问题 1 年前 |
|
András Takács · Python多线程错误 1 年前 |