Java:
public class ZahlThread extends Thread {
private ZwischenSpeicher datenfeld;
public ZahlThread(){
datenfeld = new ZwischenSpeicher();
}
public int gibZufallszahl(int n ) {
double dezimalZahl = Math.random();
int ganzZahl = (int)Math.round( dezimalZahl * 2000 );
// Ergebnis zurueckgeben
return ganzZahl;
}
public void run(){
while(true){
try{
datenfeld.setWert(gibZufallszahl(100));
int tempVorher = datenfeld.getWert();
System.out.println(datenfeld.getWert());
Thread.sleep(2000); // 2 sek warten
int tempNachher = datenfeld.getWert();
System.out.println(datenfeld.getWert());
if(tempNachher != tempVorher){
System.out.println("Gelesene Wert stimmt nicht mit dem ueberschriebenen ueberein!");
}else{
System.out.println("Wert stimmt ueberein");
}
}
catch(InterruptedException e){
}
}
}
}
Moin, habe ein kleines Prob mit meinem Codestück.
Zur Erklärung: Die Klasse Zwischenspeicher hat ein attribut wert mit dazugehörigen getter und setter.
Ich möchte nun simulieren,das ein Wert in Zwischenspeicher geschrieben wird, dann der Thread 2 sek.schläft (kann ja jetzt den Prozess wegenommen bekommen und dann ein anderer Thread arbeiten), und überprüft, ob der gelesene mit dem geschriebenen Wert übereinstimmt.
Aber es kommt bei mir immer die Ausgabe,das alles übereinstimmt
Zuletzt bearbeitet von einem Moderator: