|
|
|
|
|
by afr0ck
298 days ago
|
|
It's not that deep. The futex was developed just to save you from issuing a special system call to ask the OS to put you on a wait queue. The whole point is that implementing a mutex requires doing things that only the privileged OS kernel can do (e.g. efficiently blocking/unblocking processes). Therefore, for systems like Linux, it made sense to combine the features for a fast implementation. |
|
The point of the article anyway is that it's inexcusable to have a modern concurrency textbook and not cover the futex, since it's at the core of any efficient primitive on modern hardware.