public void ready() {
        sync.releaseShared(UNUSED);
    }
@Test
  public void testMultipleReadyCallsNoInterruptions() throws InterruptedException {
    StartingGun sg = new StartingGun();
    Thread[] threads = startWaitingThreads(sg);

    Thread.sleep(PAUSE);

    allThreadsAlive(threads);

    sg.ready();

    allThreadsDead(threads);

    threads = new Thread[10];
    for (int i = 0; i < threads.length; i++) {
      threads[i] = new Thread(sg::awaitUninterruptibly);
      threads[i].start();
    }
    Thread.sleep(PAUSE);
    allThreadsDead(threads);
  }