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

threadpool

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

24 releases (stable)

Uses old Rust 2015

1.8.1 May 11, 2020
1.7.1 Oct 30, 2017
1.5.0 Jul 28, 2017
1.3.2 Aug 20, 2016
0.1.2 Mar 28, 2015

#7 in Concurrency

Download history 281109/week @ 2023-12-01 322921/week @ 2023-12-08 281973/week @ 2023-12-15 169012/week @ 2023-12-22 243682/week @ 2023-12-29 326162/week @ 2024-01-05 348582/week @ 2024-01-12 342132/week @ 2024-01-19 347077/week @ 2024-01-26 382813/week @ 2024-02-02 368864/week @ 2024-02-09 374889/week @ 2024-02-16 392915/week @ 2024-02-23 381986/week @ 2024-03-01 345854/week @ 2024-03-08 297218/week @ 2024-03-15

1,485,540 downloads per month
Used in 1,683 crates (277 directly)

MIT/Apache

43KB
697 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

~76KB