Specialised locking schemes and lock-free data structures are a big part of my work these days. I think the main reason the situation is tenable is that, very early on, smart people decided to focus on an SPMC architecture: single writer (producer), multiple readers (consumers). As programmers, we have a tendency to try and maximise generality: if we can support multiple writers, why would one bot