Exemplo n.º 1
0
  /* =============================================================================
   * main
   * =============================================================================
   */
  public static void main(String argv[]) throws Exception {
    System.gc();
    Thread.sleep(1000);

    Manager managerPtr;
    Client clients[];
    long start;
    long stop;

    /* Initialization */
    Vacation vac = new Vacation();
    vac.parseArgs(argv);
    managerPtr = vac.initializeManager();
    clients = vac.initializeClients(managerPtr);
    int numThread = vac.CLIENTS;

    /* Run transactions */
    System.out.println("Running clients... ");

    Barrier.setBarrier(numThread + 1);

    for (int i = 0; i < numThread; i++) {
      clients[i].start();
    }

    Barrier.enterBarrier();
    start = System.currentTimeMillis();
    Barrier.enterBarrier();
    stop = System.currentTimeMillis();

    Barrier.assertIsClear();

    System.out.print("done.");
    long diff = stop - start;
    System.out.println("TIME=" + diff);
    vac.checkTables(managerPtr);

    /* Clean up */
    System.out.println("Deallocating memory... ");
    /*
     * TODO: The contents of the manager's table need to be deallocated.
     */
    System.out.println("done.");
  }