pub struct ThreadPoolBuilder { /* private fields */ }
Expand description

Thread pool configuration object.

This type is only available when the thread-pool feature of this library is activated.

Implementations§

source§

impl ThreadPoolBuilder

source

pub fn new() -> Self

Create a default thread pool configuration.

See the other methods on this type for details on the defaults.

source

pub fn pool_size(&mut self, size: usize) -> &mut Self

Set size of a future ThreadPool

The size of a thread pool is the number of worker threads spawned. By default, this is equal to the number of CPU cores.

Panics

Panics if pool_size == 0.

source

pub fn stack_size(&mut self, stack_size: usize) -> &mut Self

Set stack size of threads in the pool, in bytes.

By default, worker threads use Rust’s standard stack size.

source

pub fn name_prefix<S: Into<String>>(&mut self, name_prefix: S) -> &mut Self

Set thread name prefix of a future ThreadPool.

Thread name prefix is used for generating thread names. For example, if prefix is my-pool-, then threads in the pool will get names like my-pool-1 etc.

By default, worker threads are assigned Rust’s standard thread name.

source

pub fn after_start<F>(&mut self, f: F) -> &mut Selfwhere F: Fn(usize) + Send + Sync + 'static,

Execute the closure f immediately after each worker thread is started, but before running any tasks on it.

This hook is intended for bookkeeping and monitoring. The closure f will be dropped after the builder is dropped and all worker threads in the pool have executed it.

The closure provided will receive an index corresponding to the worker thread it’s running on.

source

pub fn before_stop<F>(&mut self, f: F) -> &mut Selfwhere F: Fn(usize) + Send + Sync + 'static,

Execute closure f just prior to shutting down each worker thread.

This hook is intended for bookkeeping and monitoring. The closure f will be dropped after the builder is dropped and all threads in the pool have executed it.

The closure provided will receive an index corresponding to the worker thread it’s running on.

source

pub fn create(&mut self) -> Result<ThreadPool, Error>

Create a ThreadPool with the given configuration.

Trait Implementations§

source§

impl Debug for ThreadPoolBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ThreadPoolBuilder

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.