>>395
意地悪で聞くけどConcurrentMapやSemaphoreのようなスレッドセーフな共有変数
置き場に使うのは何故ダメかな。

public enum WC{
 Men(5), Women(3);
 public final Semaphore place;
 private WC(int numPlace){this.place = new Semaphore(numPlace);}
}

switch(wc){
 case WC.Men:
  wc.acquire();
  いたす;
  flush();
  wc.release();
  break;
 case WC.Women;
  wc.acquire();
  ドア開ける;
  ...