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)
pub fn spawn_ok<Fut>(&self, future: Fut)
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 Freeze for ThreadPool
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<Sp> SpawnExt for Sp
impl<Sp> SpawnExt for Sp
Source§fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError>
()
to
completion. Read more