Crate thread_pool [−] [src]
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.
Structs
| Builder |
Thread pool configuration. |
| SendError |
An error returned from the |
| Sender |
A handle that allows dispatching work to a thread pool. |
| ThreadPool |
Execute tasks on one of possibly several pooled threads. |
Enums
| SendTimeoutError |
Possible errors that |
| TrySendError |
This enumeration is the list of the possible error outcomes for the
|
Traits
| Task |
A task that runs on a thread pool |
| TaskBox |
A version of |