С IMap имеет смысл разделить структуру данных, потому что она обычно содержит много элементов (500 в вашем примере), и часто необходим одновременный доступ к элементам в любом месте карты.
Но данныетакие структуры, как ISemaphore и IAtomicLong, являются простыми объектами, а не коллекциями объектов - вы не можете добавить 500 записей в ISemaphore.Состояние семафора состоит из нескольких полей (количество, текущий владелец, имя, возможно, несколько других), и разбивать их на части и хранить их в отдельных разделах не имеет смысла.
Очередь интереснее, поскольку она содержит несколько элементов, но не является секционированной структурой данных.Вы можете добавить 500 элементов в очередь, но доступ всегда будет находиться впереди очереди (для чтения) или сзади очереди (для записи), поэтому распределение структуры данных по разделам на самом деле не обеспечивает улучшенного параллелизмакак это происходит с Map, Set, List и другими подобными коллекциями, доступ к которым осуществляется случайным образом.