notify und wait

Milo

Bekanntes Mitglied
Hi,

ich frage Werte von einem externen Sensor ab. Hierzu sende ich einen Befehl an diesen und warte, bis der Sensor eine Callback-Funktion aufgruft. Das Warten sieht vereinfacht so aus:

Java:
this.send(packet); // Sende Anfrage an Sensor und warte nun auf dessen Antwort 
synchronized( this.packet ) {
	try {
		this.packet.wait(10000);
	}
	catch ( Exception e ) {
		// Fehler
	}
}

im Callback wird dann mit notify() das Warten beendet. Vereinfacht also:
Java:
public void callBackFun() {
	synchronized( this.packet ) {
		this.packet.notify();
	}
}

Ist es möglich, dass die callBackFun() aufgerufen wird, noch bevor wait() ausgeführt wird; der Sensor also so schnell antwortet, dass notify() vor dem Aufruf von wait() stattfindet? Wenn ja, wie löst man das Problem?

Gruß Milo
 
Zuletzt bearbeitet:

Milo

Bekanntes Mitglied
Hi,

nun habe ich selbst eine Lösung gefunden: Guarded Blocks. Eine Flag, im dortigen Beispiel joy, wird genutzt um zu prüfen, ob bereits die callBackFun mit dem notify aufgerufen wurde.

Dennoch Danke
Milo
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Threads - Synchronize(), join(), wait(), notify(), yield() Java Basics - Anfänger-Themen 6
ralfb1105 Frage zu Thread Synchronisation mit wait() und notify() Java Basics - Anfänger-Themen 3
D Stack-Objekt - LIFO - wait(); notify(); Java Basics - Anfänger-Themen 0
D Probleme mit wait(), notify() Java Basics - Anfänger-Themen 0
M wait/notify bei Socket Java Basics - Anfänger-Themen 4
Luk10 Monitor: wait() und notify() Java Basics - Anfänger-Themen 8
S Threads: wait() und notify() Java Basics - Anfänger-Themen 11
S bin zu blöd für threads - wait, notify, synchronized Java Basics - Anfänger-Themen 11
B Problem: wait() -> notify() Java Basics - Anfänger-Themen 4
M Threads, wait() und notify() Java Basics - Anfänger-Themen 10
G Threads steuern mit wait und notify Java Basics - Anfänger-Themen 2
P wait und notify oder wie soll ich es lösen Java Basics - Anfänger-Themen 2
I Threads Multithreading, Producer/Consumer, notify() Java Basics - Anfänger-Themen 6
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
M Threads notify/notifyAll Philosophen-Problem Java Basics - Anfänger-Themen 14
M Threads notify Java Basics - Anfänger-Themen 6
T Alle Threads .notify() Java Basics - Anfänger-Themen 13
M lock notify synchronisation Java Basics - Anfänger-Themen 8
S Problem mit notify() Java Basics - Anfänger-Themen 4
M Warum kann man dem Thread kein notify senden? Java Basics - Anfänger-Themen 15
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
M Threads synchronized und wait Java Basics - Anfänger-Themen 2
BlueFox Greenfoot wait() Java Basics - Anfänger-Themen 10
A wait() problem Java Basics - Anfänger-Themen 3
G wait()-Mehtode Java Basics - Anfänger-Themen 13
T meinThread.wait(); wirft immer Exeption & hat kein Effekt Java Basics - Anfänger-Themen 15
R wait() in synchronized - Block oder nicht? Java Basics - Anfänger-Themen 4
M wait() sleep() geht nicht wirklich Java Basics - Anfänger-Themen 3
vogella *Gelöst *Im Programm warten (wait()) Java Basics - Anfänger-Themen 2
D Wait und Image Java Basics - Anfänger-Themen 3
U wait Java Basics - Anfänger-Themen 2
O Problem bei der Synchronisierung von Threads (wait&notif Java Basics - Anfänger-Themen 4
C java.util.Timer und wait() oder so was Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben