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

MIT授权

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

无运行时依赖项