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