【发布时间】:2011-06-09 14:17:34
【问题描述】:
我有一个程序涉及在一个线程上从网络接收数据包,然后通知其他线程该数据包已收到。我目前的方法使用 Thread.Interrupt,在传输大量数据时似乎有点慢。使用“锁”来避免使用多个中断会更快,还是锁真的只是在其实现中调用 Interrupt()?
【问题讨论】:
-
有很多地方可以找到反对在应用程序中对“正常”控制流使用异常的建议。在我看来,首先将
Thread.Interrupt排除在外。 -
这个问题;是否在“锁”内部引发异常,从而使两者等效?
-
锁和
Thread.Interrupt似乎都不是实现线程间通信或同步的明智方式。我什至不确定您会如何考虑在这种情况下使用锁。但我相当肯定我可以回答提出的最后一个问题 - 我不相信 lock 在内部使用Thread.Interrupt。
标签: c# multithreading networking