Struct specs::Dispatcher
[−]
[src]
pub struct Dispatcher<'a, 'b> { /* fields omitted */ }
The dispatcher struct, allowing systems to be executed in parallel.
Methods
impl<'a, 'b> Dispatcher<'a, 'b>
[src]
fn dispatch(&mut self, res: &Resources)
[src]
Dispatch all the systems with given resources and context and then run thread local systems.
This function automatically redirects to
dispatch_par
in case it is supporteddispatch_seq
otherwise
and runs dispatch_thread_local
afterwards.
Please note that this method assumes that no resource is currently borrowed. If that's the case, it panics.
fn dispatch_par(&mut self, res: &Resources)
[src]
Dispatches the systems (except thread local systems) in parallel given the resources to operate on.
This operation blocks the executing thread.
Only available on platforms with multithreading support (so not on emscripten).
Please note that this method assumes that no resource is currently borrowed. If that's the case, it panics.
fn dispatch_seq(&mut self, res: &Resources)
[src]
Dispatches the systems (except thread local systems) sequentially.
This is useful if parallel overhead is too big or the platform does not support multithreading.
Please note that this method assumes that no resource is currently borrowed. If that's the case, it panics.
fn dispatch_thread_local(&mut self, res: &Resources)
[src]
Dispatch only thread local systems sequentially.
Please note that this method assumes that no resource is currently borrowed. If that's the case, it panics.