2个版本
使用旧的Rust 2015
0.1.1 | 2017年11月16日 |
---|---|
0.1.0 | 2017年11月16日 |
#36 in #object-pool
21 每月下载量
13KB
132 行
Random Pool
一个线程安全的、固定大小的持久对象池,其中其内容由Mutex单独保护,并且保证随机访问。
使用场景
此crate适用于需要固定数量可变元素且这些元素可以在线程间共享,但你访问的特定元素并不重要的情况。
当您需要一个不打算修改的相同资源的池,如数据库连接,或者当您想要一组资源,随机访问时,内容将趋于相同,如动态缓存时,这很有用。
特性
- 线程安全 - 如果用
Arc
包装,则池可以在线程间共享。 - 内部可变性 - 池中的元素可以修改。
- 随机访问 - 如果元素未被锁定,则池中的元素将以随机方式返回给调用者。
- 通过等待自旋锁释放(
get()
)获取元素,或者如果所有元素都已被锁定则返回None(try_get()
)。 - 对池中的所有元素运行自定义函数,一次一个元素。
依赖项
~315–540KB