2个不稳定版本
使用旧的Rust 2015
0.2.0 | 2016年8月29日 |
---|---|
0.1.0 | 2016年8月25日 |
33 在 #object-pool
40 每月下载量
用于 3 个crate(2个直接使用)
9KB
228 行
objpool
线程安全的泛型对象池
示例
use objpool::Pool;
use std::thread;
let pool = Pool::with_capacity(5, || 0);
let mut handles = Vec::new();
for _ in 0..10 {
let pool = pool.clone();
handles.push(thread::spawn(move || {
for _ in 0..1000 {
*pool.get() += 1;
}
}));
}
for handle in handles {
handle.join().unwrap();
}
assert_eq!(*pool.get() + *pool.get() + *pool.get() + *pool.get() + *pool.get(), 10000);
lib.rs
:
示例
use objpool::Pool;
use std::thread;
let pool = Pool::with_capacity(5, || 0);
let mut handles = Vec::new();
for _ in 0..10 {
let pool = pool.clone();
handles.push(thread::spawn(move || {
for _ in 0..1000 {
*pool.get() += 1;
}
}));
}
for handle in handles {
handle.join().unwrap();
}
assert_eq!(*pool.get() + *pool.get() + *pool.get() + *pool.get() + *pool.get(), 10000);