Critical sections don’t have to be scheduler-bottlenecked.| protty
You can use any thread synchronization primitive to build any other one. Here’s how:| protty