Struct futures::executor::ThreadPoolBuilder
source · [−]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
sourceimpl 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 where
S: Into<String>,
pub fn name_prefix<S>(&mut self, name_prefix: S) -> &mut ThreadPoolBuilder where
S: Into<String>,
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 where
F: 'static + Fn(usize) + Send + Sync,
pub fn after_start<F>(&mut self, f: F) -> &mut ThreadPoolBuilder where
F: 'static + Fn(usize) + Send + Sync,
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 where
F: 'static + Fn(usize) + Send + Sync,
pub fn before_stop<F>(&mut self, f: F) -> &mut ThreadPoolBuilder where
F: 'static + Fn(usize) + Send + Sync,
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.
Trait Implementations
sourceimpl Debug for ThreadPoolBuilder
impl Debug for ThreadPoolBuilder
sourceimpl Default for ThreadPoolBuilder
impl Default for ThreadPoolBuilder
sourcepub fn default() -> ThreadPoolBuilder
pub fn default() -> ThreadPoolBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl !RefUnwindSafe for ThreadPoolBuilder
impl Send for ThreadPoolBuilder
impl Sync for ThreadPoolBuilder
impl Unpin for ThreadPoolBuilder
impl !UnwindSafe for ThreadPoolBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more