示例#1
0
  @Test
  public void test() throws Exception {

    reqThread = new Requester("requester");

    // start requester, which waits for the responder to JOIN
    reqThread.init();
    reqThread.start();

    // start responders
    for (int i = 0; i < NUM_RESP; i++) {
      Responder resp = new Responder("responder" + i);
      resp.init();
      resp.start();
      respThreads.add(resp);
    }

    // wait for responders to finish
    for (Responder resp : respThreads) {
      resp.join();
    }

    // wait for requester to finish
    reqThread.join();
    reqThread.destroy();

    // destroy all responders once requester is done
    for (Responder resp : respThreads) {
      resp.destroy();
    }

    // leave some time for resources to be freed
    Thread.sleep(200);

    log.info("received: " + totResponses + " expected: " + expected);
    assertTrue(totResponses == expected);
  }