pub struct Builder { /* private fields */ }
Expand description
Thread pool configuration object
Builder starts with a number of workers equal to the number
of CPUs on the host. But you can change it until you call create()
.
Implementations§
Source§impl Builder
impl Builder
Sourcepub fn new() -> Builder
pub fn new() -> Builder
Create a builder a number of workers equal to the number of CPUs on the host.
Sourcepub fn pool_size(&mut self, size: usize) -> &mut Self
pub fn pool_size(&mut self, size: usize) -> &mut Self
Set size of a future CpuPool
The size of a thread pool is the number of worker threads spawned
Sourcepub fn stack_size(&mut self, stack_size: usize) -> &mut Self
pub fn stack_size(&mut self, stack_size: usize) -> &mut Self
Set stack size of threads in the pool.
Sourcepub fn name_prefix<S: Into<String>>(&mut self, name_prefix: S) -> &mut Self
pub fn name_prefix<S: Into<String>>(&mut self, name_prefix: S) -> &mut Self
Set thread name prefix of a future CpuPool
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.
Sourcepub fn after_start<F>(&mut self, f: F) -> &mut Self
pub fn after_start<F>(&mut self, f: F) -> &mut Self
Execute function f
right after each thread is started but before
running any jobs on it.
This is initially intended for bookkeeping and monitoring uses.
The f
will be deconstructed after the builder
is deconstructed
and all threads in the pool has executed it.
Sourcepub fn before_stop<F>(&mut self, f: F) -> &mut Self
pub fn before_stop<F>(&mut self, f: F) -> &mut Self
Execute function f
before each worker thread stops.
This is initially intended for bookkeeping and monitoring uses.
The f
will be deconstructed after the builder
is deconstructed
and all threads in the pool has executed it.