threaded

Crates.iothreaded
lib.rsthreaded
version0.4.0
sourcesrc
created_at2021-01-14 14:26:31.173004
updated_at2021-01-16 22:38:01.330943
descriptionMinimalist Thread Pool
homepagehttps://crates.io/crates/threaded
repositoryhttps://github.com/gregl83/threaded
max_upload_size
id341932
size11,738
gregory langlais (gregl83)

documentation

README

Crates.io MIT licensed Build Status

threaded

Minimalist Thread Pool in Rust

Glanceable source code for prototypes seeking brevity with transparency.

Stability

Experimental

Threaded is not fully covered nor benched let alone comparatively performance tested.

Branching Strategy

Trunk Based Development

Usage

use threaded::ThreadPool;

// start thread pool with fixed capacity of 2 workers (single producer, multiple consumer; spmc)
let tp = ThreadPool::new(2);

tp.execute(|| println!("hello threaded!")); // execute function in pool

let _num_workers = tp.capacity(); // get capacity of pool

// once tp goes out of scope, drop is called
// drop joins worker threads subsequently blocking main thread until workers finish

drop(tp); // manually trigger drop and join threads

See docs.rs/threaded.

Credits

The Rust Programming Language Book details integral features needed to begin writing useful programs while adhering to community guidelines. Threaded was based directly off the book's final project "Building a Multithreaded Web Server".

License

MIT

Commit count: 45

cargo fmt