Ich hatte gestern abend mal wieder langeweile und hab nen kleines benchmarkproggi geschrieben.
Test eins funktioniert auch ohne probleme.
Ein Long wird für 6 sekunden in einem Worker-Thread hochgezählt. (Mehrere Worker möglich)
Das gleiche wollte ich jetzt mit einer einfachen Multiplikation machen.
Aber irgenwie hat der Thread probleme mit der zuweisung von count. Denn count hat immer den Wert 0.
Gibts da einen einfachen Trick ohne syncroniesieren zu müssen?
Test eins funktioniert auch ohne probleme.
Ein Long wird für 6 sekunden in einem Worker-Thread hochgezählt. (Mehrere Worker möglich)
Das gleiche wollte ich jetzt mit einer einfachen Multiplikation machen.
Code:
public class LongSquare implements AbstractIntegerBench {
...
private volatile long count = 2;
private class Worker implements Runnable {
public void run() {
while (Calendar.getInstance().getTimeInMillis() < endtime) {
this.count = this.count * this.count ;
generated.add(count);
}
endtime = Calendar.getInstance().getTimeInMillis();
}
}
}
Aber irgenwie hat der Thread probleme mit der zuweisung von count. Denn count hat immer den Wert 0.
Gibts da einen einfachen Trick ohne syncroniesieren zu müssen?