Thanks a lot for all the @SmokingRope>
Also for any who have not tried this wonder of internet technology, try doing a search for "reverse dictionary".
That's interesting. :yes: It came up with the word "private", which captures the meaning quite nicely. Like at a private party where multiple people are invited but it's not open for everyone either.
The difficulty come because the first two access modes describe that access to one resource: shared vs. exclusive. However, the third mode describes the coordination of access to multiple resources. So, names could be coordinated? Or, managed? Unified?
I'd like to keep the name as abstract as possible. Having a resource that is split into pieces/segments/chunks is an easy way of thinking about it and a likely concrete implementation, but not the only one. I like the name "managed".
Consider a redesign; split your classes into classes that lock on a share/exclusive, and another higher-level class that manages the coordination of that state across multiple resources...
That's definitely one way to implement this mode. But it can actually be more efficient when keeping it low-level instead of composing it out of several layers. Anyway, it's just some experimental code I'm working on so I'm not even sure what direction to take yet.
I get the idea the 'clients' are multiple cores shooting for a common goal.
They could be cores, SMT threads, multitasking threads, processes, entire chips, whole systems, network nodes, etc. The rough idea is to create a universal specification for processing data having multiple 'clients' and multple 'servers'.