1 unstable release

0.1.0 Sep 1, 2020

#1131 in Concurrency

Apache-2.0 OR MIT

7KB

Threads

This crate contains traits to abstract the functionality from various threadpools. This crate serves 2 purposes

users of Threadpools

You are developing a lib that needs some sort of threadpool, but you don't want to force a specific one? Especially since every crate seems to have another threadpool and managing those is a difficult task.

Base your crate on ThreadPoolSyncConsumer or ThreadPoolASyncConsumer. Consumers of your crate can then choose which implementation they want.

creators of Threadpools

You are working on a new threadpool crate? But it's hard to fit in this ecosystem as there are already many pools. This crate is build by analysing many threadpool crates and while your implementation might not fit 100% to our traits. Implementing the ThreadPoolSyncConsumer or ThreadPoolASyncConsumer traits might make your crate more attractive for others.

In case you support a builder-pattern there are additional traits to implement, e.g. for setting a thread_max

Motivation:

https://xkcd.com/927/

There are many threadpools deply integrated in rust crates, but not a single trait to cover all

there is one trait that tries to archive something similar but adds alot of dependencies:

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.

No runtime deps