6个版本 (破坏性更新)
使用旧Rust 2015
0.5.0 | 2020年1月28日 |
---|---|
0.4.0 | 2018年6月22日 |
0.3.1 | 2018年5月16日 |
0.2.0 | 2018年5月8日 |
0.1.0 | 2018年5月3日 |
在内存管理中排名438
每月下载27次
12KB
217 行
fpool
Rust中的非租赁对象池。
非租赁意味着你不能保留从池中给出的对象。遗憾的是,没有编译器可以强制执行这一点,而不使API难以使用。
入门
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
fpool = "0.3"
然后,将此内容添加到您的crate中
extern crate fpool;
示例
循环池的简单使用示例
use fpool::RoundRobinPool;
let mut pool = RoundRobinPool::builder(5, || -> Result<_, ()> {
Ok(Vec::new())
}).build().expect("No constructor failure case");
for index in 0..10 {
let list = pool.get().expect("No constructor failure case");
list.push(index);
}
// The pool now has 5 lists with 2 items each
for _ in 0..5 {
let list = pool.get().expect("No constructor failure case");
assert_eq!(list.len(), 2);
}
但更有用和现实的示例是线程池,请参见 examples/thread_pool.rs。