Threadpool

Struct Threadpool 

Source
pub struct Threadpool { /* private fields */ }

Implementations§

Source§

impl Threadpool

Source

pub fn new(workers: usize) -> Self

Create a new thread pool.

Source

pub async fn spawn<F, R>(&self, func: F) -> R
where F: FnOnce() -> R + Send + 'static, R: Send + 'static,

Queue a new command for execution on this pool.

Source

pub fn spawn_local<'pool, F, R>( &'pool self, func: F, ) -> SpawnFuture<'pool, F, R>
where F: FnOnce() -> R + Send + 'pool, R: Send + 'pool,

Queue a new command for execution on this pool with access to the local variables.

The future of this function will block the current thread if it is not fully completed.

Source

pub fn build_global(self) -> Result<(), Error>

Set this threadpool as the global threadpool.

Source

pub fn thread_count(&self) -> usize

Get the total number of worker threads in this pool.

Source

pub fn num_threads(&self) -> usize

Get the specified number of threads for this pool.

Trait Implementations§

Source§

impl Default for Threadpool

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Drop for Threadpool

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.