[][src]Struct bevy_tasks::TaskPool

pub struct TaskPool { /* fields omitted */ }

A thread pool for executing tasks. Tasks are futures that are being automatically driven by the pool on threads owned by the pool.

Implementations

impl TaskPool[src]

pub fn new() -> Self[src]

Create a TaskPool with the default configuration.

pub fn thread_num(&self) -> usize[src]

Return the number of threads owned by the task pool

pub fn scope<'scope, F, T>(&self, f: F) -> Vec<T> where
    F: FnOnce(&mut Scope<'scope, T>) + 'scope + Send,
    T: Send + 'static, 
[src]

Allows spawning non-`static futures on the thread pool. The function takes a callback, passing a scope object into it. The scope object provided to the callback can be used to spawn tasks. This function will await the completion of all tasks before returning.

This is similar to rayon::scope and crossbeam::scope

pub fn spawn<T>(
    &self,
    future: impl Future<Output = T> + Send + 'static
) -> impl Future<Output = T> + Send where
    T: Send + 'static, 
[src]

Spawns a static future onto the thread pool. The returned Task is a future. It can also be cancelled and "detached" allowing it to continue running without having to be polled by the end-user.

Trait Implementations

impl Clone for TaskPool[src]

impl Default for TaskPool[src]

Auto Trait Implementations

impl !RefUnwindSafe for TaskPool

impl Send for TaskPool

impl Sync for TaskPool

impl Unpin for TaskPool

impl !UnwindSafe for TaskPool

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.