package test.lasttest; /** * @author Stefan Knirsch * @version $Id$ * */ public class Dispatcher extends Thread { private LasttestClient parent = null; private int max; private int turns; private int turn_counter; private int turn; private int time; private long sum; private int turnnum; public Dispatcher(LasttestClient parent, int max, int turns, int time, long sum) { this.parent = parent; this.max = max; this.turns = turns; this.time = time; this.sum = sum; turnnum=0; } public void run() { this.setPriority(Thread.NORM_PRIORITY + 1); System.out.println("Dispatcher wird gestartet..."); TestThread[] old_reqs = buildRequests(0); for (turn_counter = 0; turns == 0 ? true : (turn_counter < turns); turn_counter++) { try { // LasttestClient.Log.write(("Starte Durchlauf " + turn_counter + "\n").getBytes()); } catch (Exception e) {} // System.out.println("Starte Durchlauf " + turn_counter); turn = turn_counter; if (turns == 0) turn_counter--; TestThread[] reqs = buildRequests(turn_counter); for (int counter = 0; counter < max; counter++) { old_reqs[counter].start(); } old_reqs = reqs; try { Thread.sleep(time); } catch (Exception e) { e.printStackTrace(); } } parent.stop = true; } public TestThread[] buildRequests(int turnNo) { TestThread[] ret = new TestThread[max]; for (int counter = 0; counter < max; counter++) { // turnnum ++; ret[counter] = new TestThread(parent, turnNo); } return ret; } }