gpt4 book ai didi

clojure - 如何限制 core.async channel 的写入频率?

转载 作者:行者123 更新时间:2023-12-04 12:47:43 24 4
gpt4 key购买 nike

有没有一种简单的方法来限制 core.async channel 的写入频率?到目前为止,我可以找到两个例子。一个使用滑动缓冲区和一些 SetTimeout 魔法来处理这个问题,另一个使用外部原子作为计数器。我本来希望 core.async 提供这种开箱即用的功能。由于其中一个示例相当陈旧(10 个月),我想知道是否有更简单的解决方案?

我正在寻找适用于 Clojure 和 ClojureScript 的解决方案。

最佳答案

throttler lib提供对 Clojure 代码进行速率控制的函数(包括对 channel 或函数的 throttle )。

从自述文件:

(def in (chan 1))
(def slow-chan (throttle-chan in 1 :millisecond)) ; 1 msg/ms

(>!! in :token) ; => true
(<!! slow-chan) ; :token

关于clojure - 如何限制 core.async channel 的写入频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23202429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com