gpt4 book ai didi

c# - 如何在没有过时的 Thread.Suspend 的情况下暂停阻塞线程?

转载 作者:太空狗 更新时间:2023-10-29 23:42:01 32 4
gpt4 key购买 nike

我有一个等待 TcpListener.AcceptTcpClient() 的线程,它阻塞,我有时想暂停它。

我读过有关 Monitor.Wait(...) 的内容,但我只有使用互斥量的经验,如果线程等待阻塞方法,它会变得很有趣。

既然 Thread.Suspend(...) 已经过时,我应该如何挂起线程?

最佳答案

这是不可能的,这是一个无法解决的竞争条件。监听器可能在您要挂起它之前的一微秒内接受了连接。关闭监听器使其不接受任何连接是唯一可靠的方法。

在这里重新考虑您的逻辑。无论它与使您想要停止的连接有何关系,都可能需要将其锁定。

关于c# - 如何在没有过时的 Thread.Suspend 的情况下暂停阻塞线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290888/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com