pub struct ThreadPoolBuilder { /* private fields */ }
Expand description
A builder for configuring and creating a ThreadPool
.
This builder allows you to set various parameters for the thread pool, such as the number of threads, stack size, and a name prefix for the threads.
§Examples
Creating a thread pool with default settings:
use base_threadpool::ThreadPoolBuilder;
let pool = ThreadPoolBuilder::default().build();
Creating a customized thread pool:
use base_threadpool::ThreadPoolBuilder;
let pool = ThreadPoolBuilder::default()
.num_threads(4)
.stack_size(3 * 1024 * 1024)
.name_prefix("worker".to_string())
.build();
Implementations§
Source§impl ThreadPoolBuilder
impl ThreadPoolBuilder
Sourcepub fn new(
num_threads: usize,
stack_size: usize,
name_prefix: String,
) -> ThreadPoolBuilder
pub fn new( num_threads: usize, stack_size: usize, name_prefix: String, ) -> ThreadPoolBuilder
Constructs a new instance of ThreadPoolBuilder
with specified parameters.
§Arguments
num_threads
- The number of threads in the pool. Must be greater than 0.stack_size
- The stack size for each thread in bytes.name_prefix
- A prefix for naming the threads in the pool.
§Panics
Panics if num_threads
is 0.
use base_threadpool::ThreadPoolBuilder;
let builder = ThreadPoolBuilder::new(4, 2 * 1024 * 1024, "custom-worker".to_string());
let pool = builder.build();
Sourcepub fn build(&self) -> ThreadPool
pub fn build(&self) -> ThreadPool
Builds and returns a new ThreadPool
instance based on the current configuration.
§Examples
use base_threadpool::ThreadPoolBuilder;
let pool = ThreadPoolBuilder::default().num_threads(2).build();
Sourcepub fn num_threads(self, num_threads: usize) -> ThreadPoolBuilder
pub fn num_threads(self, num_threads: usize) -> ThreadPoolBuilder
Sourcepub fn stack_size(self, stack_size: usize) -> ThreadPoolBuilder
pub fn stack_size(self, stack_size: usize) -> ThreadPoolBuilder
Sets the stack size, in bytes, for each thread in the pool.
§Examples
use base_threadpool::ThreadPoolBuilder;
let builder = ThreadPoolBuilder::default().stack_size(4 * 1024 * 1024);
Sourcepub fn name_prefix(self, name_prefix: String) -> ThreadPoolBuilder
pub fn name_prefix(self, name_prefix: String) -> ThreadPoolBuilder
Sets the name prefix for threads in the pool.
§Examples
use base_threadpool::ThreadPoolBuilder;
let builder = ThreadPoolBuilder::default().name_prefix("my-worker".to_string());
Trait Implementations§
Source§impl Debug for ThreadPoolBuilder
impl Debug for ThreadPoolBuilder
Source§impl Default for ThreadPoolBuilder
Default parameters for ThreadPoolBuilder
The Default number of threads available for the ThreadPool
is std::thread::available_parallelism
.
impl Default for ThreadPoolBuilder
Default parameters for ThreadPoolBuilder
The Default number of threads available for the ThreadPool
is std::thread::available_parallelism
.
Source§fn default() -> ThreadPoolBuilder
fn default() -> ThreadPoolBuilder
Returns the “default value” for a type. Read more
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
Mutably borrows from an owned value. Read more