Erlang works with message passing between actors as it's concurrency model.
Assume I have 3 actors who sell items. The total number of items is 7. How do they excactly sell 7 items? How do they coordinate themselves? We could have one actor with the number of available items, acting on "buy" messages (inventory actor). This would be a SPOF though.
The same goes concurrency in other languages like Java when using message queues for concurrency instead of locks.
(Best without an Amdahl bottleneck)