Clojure确实提供了一些可以创建可变状态的元素,可以通过原子数据类型来实现,也可以通过Agents来实现。
关于agent,在Clojure中可以进行以下操作。
| Sr.No. | Operations & 描述 |
|---|---|
| 1 |
agent 使用agent命令创建代理。 |
| 2 |
send 此函数用于将值发送到代理。 |
| 3 |
shutdown-agents 此函数用于关闭所有正在运行的代理。 |
| 4 |
send-off 在某些情况下,为代理分配了实际上是阻止的函数。 |
| 5 |
await-for 由于更新代理的值存在延迟,因此Clojure提供了"await"函数,该函数用于指定等待代理更新的时间(以毫秒为单位)。 |
| 6 |
await 阻塞当前线程,直到发生从该线程或代理分发到代理的所有操作为止。 |
| 7 |
agent-error 如果代理失败,则返回在代理的异步操作期间抛出的异常。如果代理没有失败,则返回nil。 |