【发布时间】:2018-01-19 01:44:10
【问题描述】:
假设有 4 个组件:
- 通过 http 进行交互式数据收集(survey)
- atom,累积调查阶段
- CPU 繁重的计算
- 数据库编写器
我尝试使最后两个操作异步,例如将累积的数据放在队列中的某个位置并开始收集其他调查,而 something 处理数据,something else 执行 IO与任何先前准备的数据。
问题是要使用语言的什么特性?在 Clojure Programming 书中有使用 agents 作为组件来执行 IO 操作的示例,但是期货不提供相同的“即发即弃”设施吗?还是 agent 仍然是 atom 或 ref 之类的身份,而根本不是 actor?
【问题讨论】:
标签: concurrency clojure