目前的文件数据。IORef(IORef)
关于使用的安全性非常模糊IORef(IORef)
多线程程序中的。特别是,我们提供原子修改IORef
和friends,可以在多线程程序中安全使用。然而,我们确实如此不提供原子阅读器参考
(尽管技术上如此原子修改IORef
可以用来实现它,尽管效率很低)。因此,用户倾向于使用读者参考
尽管这是不安全的(因为这些操作缺乏必要的屏障来保证一致的内存顺序)。鉴于GHC本身包含此类不正确的用法(例如全球总部。实用程序。传输最大功率因数
)我认为我们应该做点什么来隐藏这个脚枪。
我可以看到两个选项:
- 介绍
原子阅读器参考
操作,并清楚地将非原子操作标记为不安全的并发访问
- 给予
读者参考
必要的障碍。原则上,我们可以在STRef(参考)
.