查询缓冲核心中的元素数。async/chan
Querying the number of elements in a buffered core.async/chan
有缓冲 chan
,说
(def c (clojure.core.async/chan 100))
是否可以查询chan中当前有多少个元素?
实例化通道来自 ManyToManyChannel
类型,您可以使用 buf
属性.
访问通道的内部缓冲区
(.buf c)
=> #<FixedBuffer clojure.core.async.impl.buffers.FixedBuffer@3d67452c>
那个缓冲区实现了 clojure.lang.Counted
所以它是可数的。
(count (.buf c))
=> 0
有缓冲 chan
,说
(def c (clojure.core.async/chan 100))
是否可以查询chan中当前有多少个元素?
实例化通道来自 ManyToManyChannel
类型,您可以使用 buf
属性.
(.buf c)
=> #<FixedBuffer clojure.core.async.impl.buffers.FixedBuffer@3d67452c>
那个缓冲区实现了 clojure.lang.Counted
所以它是可数的。
(count (.buf c))
=> 0