pub struct ThreadPoolBuilder { /* private fields */ }
Expand description
Thread pool configuration object.
Implementations§
Source§impl ThreadPoolBuilder
impl ThreadPoolBuilder
Sourcepub fn new() -> ThreadPoolBuilder
pub fn new() -> ThreadPoolBuilder
Create a default thread pool configuration.
See the other methods on this type for details on the defaults.
Sourcepub fn pool_size(&mut self, size: usize) -> &mut ThreadPoolBuilder
pub fn pool_size(&mut self, size: usize) -> &mut ThreadPoolBuilder
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.
Sourcepub fn stack_size(&mut self, stack_size: usize) -> &mut ThreadPoolBuilder
pub fn stack_size(&mut self, stack_size: usize) -> &mut ThreadPoolBuilder
Set stack size of threads in the pool.
By default, worker threads use Rust’s standard stack size.
Sourcepub fn name_prefix<S>(&mut self, name_prefix: S) -> &mut ThreadPoolBuilder
pub fn name_prefix<S>(&mut self, name_prefix: S) -> &mut ThreadPoolBuilder
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.
Sourcepub fn after_start<F>(&mut self, f: F) -> &mut ThreadPoolBuilder
pub fn after_start<F>(&mut self, f: F) -> &mut ThreadPoolBuilder
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.
Sourcepub fn before_stop<F>(&mut self, f: F) -> &mut ThreadPoolBuilder
pub fn before_stop<F>(&mut self, f: F) -> &mut ThreadPoolBuilder
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 droppped
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.
Sourcepub fn create(&mut self) -> Result<ThreadPool, Error>
pub fn create(&mut self) -> Result<ThreadPool, Error>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ThreadPoolBuilder
impl !RefUnwindSafe for ThreadPoolBuilder
impl Send for ThreadPoolBuilder
impl Sync for ThreadPoolBuilder
impl Unpin for ThreadPoolBuilder
impl !UnwindSafe for ThreadPoolBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more