【发布时间】:2020-09-27 15:15:33
【问题描述】:
在原子内部使用 unsafePerformIO 也很危险,但原因不同。有关更多信息,请参阅 unsafeIOToSTM。
在使用线程和异步异常时,有一些函数可以屏蔽异步异常,以便安全地分配和释放资源。
但是有很多函数在后台使用unsafePerformIO,例如memory 包中的allocAndFreeze,并且在STM 事务中强制包含这样的表达式的thunk 并不难。这些函数在 STM 事务中使用真的安全吗?是否存在可能导致内存泄漏或数据损坏的情况?在这种情况下,是否有相当于 mask 的内容?
谢谢
【问题讨论】: