forked from pr2-lecture/uebungen
43 lines
989 B
Java
43 lines
989 B
Java
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);
|
|
}
|
|
}
|
|
}
|
|
}
|