我有一个等待TcpListener.AcceptTcpClient()
的帖子,阻止,我有时会暂停。
我已经阅读了Monitor.Wait(...)
,但我只有使用互斥锁的经验,如果线程等待阻塞方法,它会变得有趣。
既然Thread.Suspend(...)
已经过时了,我应该如何暂停该帖子?
答案 0 :(得分:2)
这是不可能的,这是无法解决的竞争条件。在您想要暂停之前,侦听器可能已经接受了一微秒的连接。关闭监听器使其不接受任何连接是唯一可靠的方法。
在这里重新思考你的逻辑。无论它与你想要停止它的连接有什么关系,都可能需要锁定。