#pool #thread-safe #mutex #content #fixed-size #element #object-pool

random-pool

一个线程安全的、固定大小的池,其中其内容由Mutex单独保护

2个版本

使用旧的Rust 2015

0.1.1 2017年11月16日
0.1.0 2017年11月16日

#36 in #object-pool

21 每月下载量

自定义许可

13KB
132

Current Crates.io Version

Random Pool

一个线程安全的、固定大小的持久对象池,其中其内容由Mutex单独保护,并且保证随机访问。

使用场景

此crate适用于需要固定数量可变元素且这些元素可以在线程间共享,但你访问的特定元素并不重要的情况。

当您需要一个不打算修改的相同资源的池,如数据库连接,或者当您想要一组资源,随机访问时,内容将趋于相同,如动态缓存时,这很有用。

特性

  • 线程安全 - 如果用Arc包装,则池可以在线程间共享。
  • 内部可变性 - 池中的元素可以修改。
  • 随机访问 - 如果元素未被锁定,则池中的元素将以随机方式返回给调用者。
  • 通过等待自旋锁释放(get())获取元素,或者如果所有元素都已被锁定则返回None(try_get())。
  • 对池中的所有元素运行自定义函数,一次一个元素。

依赖项

~315–540KB