Struct async_executors::ThreadPool
source · pub struct ThreadPool { /* private fields */ }
Expand description
A general-purpose thread pool for scheduling tasks that poll futures to completion.
The thread pool multiplexes any number of tasks onto a fixed number of worker threads.
This type is a clonable handle to the threadpool itself. Cloning it will only create a new reference, not a new threadpool.
This type is only available when the thread-pool
feature of this
library is activated.
Implementations§
source§impl ThreadPool
impl ThreadPool
sourcepub fn new() -> Result<ThreadPool, Error>
pub fn new() -> Result<ThreadPool, Error>
Creates a new thread pool with the default configuration.
See documentation for the methods in
ThreadPoolBuilder
for details on the default
configuration.
sourcepub fn builder() -> ThreadPoolBuilder
pub fn builder() -> ThreadPoolBuilder
Create a default thread pool configuration, which can then be customized.
See documentation for the methods in
ThreadPoolBuilder
for details on the default
configuration.
sourcepub fn spawn_obj_ok(&self, future: FutureObj<'static, ()>)
pub fn spawn_obj_ok(&self, future: FutureObj<'static, ()>)
Spawns a future that will be run to completion.
Note: This method is similar to
Spawn::spawn_obj
, except that it is guaranteed to always succeed.
sourcepub fn spawn_ok<Fut>(&self, future: Fut)where
Fut: Future<Output = ()> + Send + 'static,
pub fn spawn_ok<Fut>(&self, future: Fut)where Fut: Future<Output = ()> + Send + 'static,
Spawns a task that polls the given future with output ()
to
completion.
use futures::executor::ThreadPool;
let pool = ThreadPool::new().unwrap();
let future = async { /* ... */ };
pool.spawn_ok(future);
Note: This method is similar to
SpawnExt::spawn
, except that it is guaranteed to always succeed.
Trait Implementations§
source§impl Clone for ThreadPool
impl Clone for ThreadPool
source§fn clone(&self) -> ThreadPool
fn clone(&self) -> ThreadPool
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ThreadPool
impl Debug for ThreadPool
source§impl Drop for ThreadPool
impl Drop for ThreadPool
source§impl Spawn for ThreadPool
impl Spawn for ThreadPool
source§impl<Out: 'static + Send> SpawnHandle<Out> for ThreadPool
impl<Out: 'static + Send> SpawnHandle<Out> for ThreadPool
source§fn spawn_handle_obj(
&self,
future: FutureObj<'static, Out>
) -> Result<JoinHandle<Out>, SpawnError>
fn spawn_handle_obj( &self, future: FutureObj<'static, Out> ) -> Result<JoinHandle<Out>, SpawnError>
JoinHandle
that can be awaited for the output of the future.source§impl Timer for ThreadPool
Available on crate features timer
and async_global
only.
impl Timer for ThreadPool
timer
and async_global
only.source§impl YieldNow for ThreadPool
impl YieldNow for ThreadPool
source§fn yield_now(&self) -> YieldNowFut ⓘ
fn yield_now(&self) -> YieldNowFut ⓘ
Auto Trait Implementations§
impl RefUnwindSafe for ThreadPool
impl Send for ThreadPool
impl Sync for ThreadPool
impl Unpin for ThreadPool
impl UnwindSafe for ThreadPool
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<Sp> SpawnExt for Spwhere
Sp: Spawn + ?Sized,
impl<Sp> SpawnExt for Spwhere Sp: Spawn + ?Sized,
source§fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>where
Fut: Future<Output = ()> + Send + 'static,
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>where Fut: Future<Output = ()> + Send + 'static,
()
to
completion. Read more