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
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.
§Panics
Panics if pool_size == 0
.
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, in bytes.
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 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.
sourcepub fn create(&mut self) -> Result<ThreadPool, Error>
pub fn create(&mut self) -> Result<ThreadPool, Error>
Create a ThreadPool
with the given configuration.