#pool #thread #jobs #worker #thread-pool #shared #threads #number


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

2 releases

Uses old Rust 2015

0.1.1 Mar 14, 2017
0.1.0 Jan 4, 2017
Download history 17/week @ 2021-04-12 18/week @ 2021-04-19 13/week @ 2021-04-26 15/week @ 2021-05-03 15/week @ 2021-05-10 16/week @ 2021-05-17 12/week @ 2021-05-24 18/week @ 2021-05-31 18/week @ 2021-06-07 18/week @ 2021-06-14 10/week @ 2021-06-21 16/week @ 2021-06-28 15/week @ 2021-07-05 18/week @ 2021-07-12 17/week @ 2021-07-19 19/week @ 2021-07-26

121 downloads per month


581 lines

Thread pool for Rust

A library for executing tasks on reusable threads.

Build Status Crates.io



First add this to your Cargo.toml

thread-pool = "0.1"

Next, add this to your crate:

extern crate thread_pool;

use thread_pool::ThreadPool;


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.


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.