gpt4 book ai didi

haskell - 什么时候可以保证 MVar 操作不间断?

转载 作者:行者123 更新时间:2023-12-04 05:50:20 25 4
gpt4 key购买 nike

documentation for Control.Exception 描述哪些操作可以抛出异步异常,即使在 mask 内ed block,说:“以下操作保证不可中断”

takeMVar if the MVar is definitely full, and conversely putMVar if the MVar is definitely empty



在什么情况下是 MVar从编译器的角度来看,“绝对”是满的还是空的?是否已经定义得足够好来推理我的代码是否会在不处理每个 MVar 上的异步异常的情况下中断?手术?

最佳答案

编译器没有做出这样的保证,这就是他们这么说的原因。

特别是如果MVar已满,则 takeMVar不会阻塞,并且不能被中断。同样对于空 MVarputMVar ,因为它没有阻塞,所以不能被中断。

使用该措辞是因为如果 MVar不是满的,说因为它有时是满的,有时不是,那么保证就不再是真的。

关于haskell - 什么时候可以保证 MVar 操作不间断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20909425/

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