Comment by kiitos

3 months ago

this is an overly simplistic and somewhat reductive perspective on a pretty fundamental concept/primitive

> they were designed to turn single-threaded code into multi-threaded

not really

> usually a single point of contention quickly becomes a problem.

not generally, no

> They're liable to deadlocks/livelocks,

deadlocks/livelocks are orthogonal to any specific primitive

> They're also often backed byOS primitives (with big overheads) with inconsistent behaviors between platforms (spinlocks, waiting etc).

the mutex as a primitive is orthogonal to any specific implementation...

etc. etc.