2 releases
Uses old Rust 2015
0.1.1 | Mar 14, 2017 |
---|---|
0.1.0 | Jan 4, 2017 |
#48 in #worker-thread
116 downloads per month
34KB
581 lines
Thread pool for Rust
A library for executing tasks on reusable threads.
Usage
First add this to your Cargo.toml
[dependencies]
thread-pool = "0.1"
Next, add this to your crate:
extern crate thread_pool;
use thread_pool::ThreadPool;
License
thread-pool
is primarily distributed under the terms of both the MIT
license and the Apache License (Version 2.0), with portions covered by various
BSD-like licenses.
See LICENSE-APACHE, and LICENSE-MIT for details.
The library is also inspired from parts of JSR-166 which is released to the public domain.
lib.rs
:
Execute tasks on one of possibly several pooled threads.
A thread pool contains a set of previously spawned threads enabling running tasks in parallel without having to spawn up a new thread for each task. The thread pool supports a variety of different configuration options useful for tweaking its exact behavior.
Thread pools address two different porblems: they usually provide improved performance when executing large numbers of asynchronous tasks, due to reduced per-task invocation overhead, and they provide a means of bounding and managing the resources, including threads, consumed when executing a collection of tasks.
To be useful across a wide range of contexts, ThreadPool
provides a number
of adjustable parameters and extensibility hooks. However, programmers are
urged to use the more convenient builder methods,
fixed_size
, and
single_thread
(single
background thread), that preconfigure settings for the most common usage
scenarios. Otherwise, use the following guide when manually configuring and
tuning a ThreadPool
.
Dependencies
~110KB