package pr2.threads.race_condition; /** * Runnable, dass Zahlen inkrementieren kann. */ public class NumberIncrementer implements Runnable { /** * Zahl, bis zu der gearbeitet werden soll. */ private final int boundary; /** * Speicher für die generierten Zahlen. */ private final NumberList numberList; /** * Legt ein neues Objekt an. * * @param boundary Obergrenze für die Generierung * @param numberList Speicher für die Zahlen */ public NumberIncrementer(int boundary, NumberList numberList) { this.boundary = boundary; this.numberList = numberList; } /** * @see java.lang.Runnable#run() */ @Override public void run() { for (int i = 0; i < boundary; i++) { synchronized (numberList) { int lastNum = numberList.getLastNumber(); lastNum++; numberList.add(lastNum); } } } }