#thread #pool #numbers #running #task #worker-thread #single

thread-pool

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

#42 in #worker-thread

Download history 12/week @ 2023-12-22 6/week @ 2023-12-29 9/week @ 2024-01-05 26/week @ 2024-01-12 21/week @ 2024-01-19 54/week @ 2024-01-26 278/week @ 2024-02-02 24/week @ 2024-02-09 64/week @ 2024-02-16 111/week @ 2024-02-23 170/week @ 2024-03-01 193/week @ 2024-03-08 168/week @ 2024-03-15 39/week @ 2024-03-22 60/week @ 2024-03-29 16/week @ 2024-04-05

338 downloads per month

MIT/Apache

34KB
581 lines

Thread pool for Rust

A library for executing tasks on reusable threads.

Build Status Crates.io

Documentation

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

~105KB