gpt4 book ai didi

sockets - Haskell句柄的非阻塞关闭

转载 作者:行者123 更新时间:2023-12-03 11:53:59 26 4
gpt4 key购买 nike

我们有两个线程将 Handle 包裹在 Socket 中。该句柄很有用,因为它周围的MVar可确保一次只能写入一个线程。

我们要求一个线程应该能够关闭Handle,即使另一个线程正在对其进行写操作–写调用应该收到一个错误。问题在于 hclose 函数将阻塞,直到它具有独占访问权限为止。解决此问题的最佳方法是什么?

最佳答案

IIRC编写处理句柄会锁定Handle,因此您有两个选择:使用异步异常中止操作或使其变为非阻塞状态(例如,使用hPutBufNonBlocking尝试写入,并使用threadWaitWrite等待数据发送)。

关于sockets - Haskell句柄的非阻塞关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34949114/

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