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 |
Contains the rayon thread pool configuration. |
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 |
ThreadPool |
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 |
Initializes the global thread pool. This initialization is
optional. If you do not call this function, the thread pool
will be automatically initialized with the default
configuration. In fact, calling |
join |
The |
join_context |
The |
scope |
Create 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 |