3 releases
0.1.2 | Feb 25, 2021 |
---|---|
0.1.1 | Feb 25, 2021 |
0.1.0 | Feb 23, 2021 |
#760 in Concurrency
10,934 downloads per month
Used in 55 crates
(5 directly)
21KB
432 lines
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
Example
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]);
}
Feature Flags
coz
: Enable support for thecoz
profiler. Callscoz::thread_init()
in every new thread.
License
Licensed under the MIT license.
Dependencies
~260KB