Skip to main content

orx_parallel/pools/
mod.rs

1mod env;
2mod global_pool;
3mod pool;
4mod pool_impl;
5mod scope;
6mod tasks;
7mod thread_pool;
8
9// 1. wasm
10#[cfg(all(feature = "std", feature = "wasm", target_arch = "wasm32"))]
11pub use pool_impl::WasmWebPool;
12
13#[cfg(all(
14    feature = "std",
15    feature = "wasm",
16    target_arch = "wasm32",
17    target_feature = "atomics",
18))]
19pub use pool_impl::init_wasm_parallel_runtime;
20
21#[cfg(all(
22    feature = "std",
23    feature = "wasm",
24    target_arch = "wasm32",
25    target_feature = "atomics",
26))]
27pub use pool_impl::wasm_web_runtime_info;
28
29#[cfg(all(
30    feature = "std",
31    feature = "wasm",
32    target_arch = "wasm32",
33    target_feature = "atomics",
34))]
35pub use pool_impl::wasm_web_start_worker;
36
37// 2. basic
38#[cfg(feature = "std")]
39pub use pool_impl::BasicPool;
40
41// 3. once
42#[cfg(feature = "std")]
43pub use pool_impl::OncePool;
44
45// 4. sequential
46#[cfg(not(feature = "std"))]
47pub use pool_impl::SequentialPool;
48
49pub use crate::tasks;
50pub use global_pool::DefaultPool;
51pub(crate) use global_pool::global_pool;
52pub use pool::Pool;
53pub use scope::Scope;
54pub use tasks::{TaskQueue, Tasks};
55pub use thread_pool::{ThreadPool, max_num_threads_for_computation};