Expand description
A utility module for working with threads that automatically joins threads upon drop
and abstracts over operating system quality of service (QoS
) APIs
through the concept of a “thread intent”.
The intent of a thread is frozen at thread creation time, i.e. there is no API to change the intent of a thread once it has been spawned.
As a system, rust-analyzer should have the property that
old manual scheduling APIs are replaced entirely by QoS
.
To maintain this invariant, we panic when it is clear that
old scheduling APIs have been used.
Moreover, we also want to ensure that every thread has an intent set explicitly
to force a decision about its importance to the system.
Thus, ThreadIntent
has no default value
and every entry point to creating a thread requires a ThreadIntent
upfront.
Structs§
Enums§
Functions§
- spawn
- Panics