[−][src]Crate rustc_rayon_core
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.
Modules
| tlv | Allows access to the Rayon's thread local value which is preserved when moving jobs across threads |
Structs
| Configuration | Deprecated Contains the rayon thread pool configuration. Use |
| FnContext | Provides the calling context to a closure called by |
| Registry | |
| 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 |
| WorkerLocal | Holds worker-locals values for each thread in a thread pool. You can only access the worker local value through the Deref impl on the thread pool it was constructed on. It will panic otherwise |
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 |
| mark_blocked | Mark a Rayon worker thread as blocked. This triggers the deadlock handler if no other worker thread is active |
| mark_unblocked | Mark a previously blocked Rayon worker thread as unblocked |
| scope | Create a "fork-join" scope |
| scope_fifo | 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 |
| 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 |