Crates.io | yastl |
lib.rs | yastl |
version | 0.1.2 |
source | src |
created_at | 2021-02-23 08:13:32.214782 |
updated_at | 2021-02-25 17:57:25.325483 |
description | Yet another scoped threadpool library |
homepage | |
repository | https://github.com/Stupremee/yastl |
max_upload_size | |
id | 359363 |
size | 23,880 |
yastl
Yet another scoped threadpool library for Rust.
yastl
is heavily inspired by the scoped_threadpool
and
scoped_pool
crates. It is mostly a port to modern Rust of the
scoped_pool
crate
use yastl::Pool;
fn main() {
let pool = Pool::new(4);
let mut list = vec![1, 2, 3, 4, 5];
pool.scoped(|scope| {
// since the `scope` guarantees that the threads are finished if it drops,
// we can safely borrow `list` inside here.
for x in list.iter_mut() {
scope.execute(move || {
*x += 2;
});
}
});
assert_eq!(list, vec![3, 4, 5, 6, 7]);
}
coz
: Enable support for the coz
profiler.
Calls coz::thread_init()
in every new thread.Licensed under the MIT license.