#thread-pool #thread #pool #parallelism #threading #worker-thread

threadpool-crossbeam-channel

A fork of the threadpool create, which uses crossbeam-channel instead of std::mpsc

1 stable release

Uses old Rust 2015

1.8.0 Jan 25, 2020

#945 in Concurrency


Used in quartz_sched

MIT/Apache

45KB
690 lines

threadpool

A thread pool for running a number of jobs on a fixed set of worker threads.

Build Status doc.rs

Usage

Add this to your Cargo.toml:

[dependencies]
threadpool = "1.0"

and this to your crate root:

extern crate threadpool;

Minimal requirements

This crate requires Rust >= 1.13.0

Memory performance

Rust 1.32.0 has switched from jemalloc to the operating systems allocator. While this enables more plattforms for some workloads this means some performance loss.

To regain the performance consider enableing the jemallocator crate.

Similar libraries

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Development

To install rust version 1.13.0 with rustup execute this command:

rustup install 1.13.0

To run the tests with 1.13.0 use this command:

cargo +1.13.0 test

If your build fails with this error:

warning: unused manifest key: package.categories
error: failed to parse lock file at: /home/vp/rust/threadpool/Cargo.lock

You can fix it by removing the lock file:

rm Cargo.lock

Dependencies

~495KB