Crate rayon_core[−][src]
Restricting multiple versions
In order to ensure proper coordination between threadpools, and especially
to make sure there’s only one global threadpool, rayon-core
is actively
restricted from building multiple versions of itself into a single target.
You may see a build error like this in violation:
error: native library `rayon-core` is being linked to by more
than one package, and can only be linked to by one package
While we strive to keep rayon-core
semver-compatible, it’s still
possible to arrive at this situation if different crates have overly
restrictive tilde or inequality requirements for rayon-core
. The
conflicting requirements will need to be resolved before the build will
succeed.
Structs
Configuration | Deprecated Contains the rayon thread pool configuration. Use |
FnContext | Provides the calling context to a closure called by |
Scope | Represents a fork-join scope which can be used to spawn any number of tasks.
See |
ScopeFifo | Represents a fork-join scope which can be used to spawn any number of tasks.
Those spawned from the same thread are prioritized in relative FIFO order.
See |
ThreadBuilder | Thread builder used for customization via
|
ThreadPool | Represents a user created thread-pool. |
ThreadPoolBuildError | Error when initializing a thread pool. |
ThreadPoolBuilder | Used to create a new |
Functions
current_num_threads | Returns the number of threads in the current registry. If this code is executing within a Rayon thread-pool, then this will be the number of threads for the thread-pool of the current thread. Otherwise, it will be the number of threads for the global thread-pool. |
current_thread_has_pending_tasks | If called from a Rayon worker thread, indicates whether that
thread’s local deque still has pending tasks. Otherwise, returns
|
current_thread_index | If called from a Rayon worker thread, returns the index of that
thread within its current pool; if not called from a Rayon thread,
returns |
initialize | Deprecated Deprecated in favor of |
join | Takes two closures and potentially runs them in parallel. It returns a pair of the results from those closures. |
join_context | Identical to |
scope | Creates a “fork-join” scope |
scope_fifo | Creates a “fork-join” scope |
spawn | Fires off a task into the Rayon threadpool in the “static” or
“global” scope. Just like a standard thread, this task is not
tied to the current stack frame, and hence it cannot hold any
references other than those with |
spawn_fifo | Fires off a task into the Rayon threadpool in the “static” or
“global” scope. Just like a standard thread, this task is not
tied to the current stack frame, and hence it cannot hold any
references other than those with |