Programming Clojure学习笔记——并发

来源:互联网 发布:win10禁止安装软件 编辑:程序博客网 时间:2024/04/30 16:01
Clojure提供强大的并发库,由四个API组成,增强不同并发模型:
引用(refs): 管理对共享状态的并发同步修改
原子(atoms): 管理对共享状态的非并发同步修改
代理(agents): 管理对共享状态的异步修改
变量(vars): 管理线程本地状态

6.1 锁的问题
选择在什么上和在哪里加锁是一件很难的事。如果加锁出现问题,会带来一系列问题:
(1) 线程之间竞争导致数据毁坏
(2) 死锁导致正常程序功能不能正常使用