В данном случае разве не логично было бы использовать один блок
synchronized ? на всеь блок switch(args[0]) {
case ...
.
.
.
} Ведь все равно все блоки блокируются по synchronized (allPeople) и одновременно может работать только один case.
package com.javarush.task.task17.task1711;
public enum Sex {
MALE,
FEMALE
}