Hab ein Problem mit der 'Kommunikation' zwischen zweier Threads. Der aufbau ist ungefähr so (Fast Pseudecode
). Die handle() Methode wird nur einmal aufgerufen während die fire() Methode öfters aufgerufen wird!
Was ich möchte:
Handle läuft ja ununterbrochen, jetzt möchte ich das die fire Methode sozusage eine hohe Priorität hatt und den Thread in der Handle Methode pausiert bis der synchronized Block in der fire Methode durchgelaufen ist. Mit wait() und notify() habe ich nur ein bisschen gearbeitet und verstehe es leider irgendwie nicht
Kann mir einer vlt. zeigen / erklären wie ich dieses Problem löse, und / oder wie man mit notify() wait() genau arbeitet?
Danke schon mal im vorraus, LG.
Java:
private final Object STICKER = new Object();
public void handle() {
new Thread(() -> {
while (true) {
synchronized (STICKER) {
// Do alot of Stuff
}
}
}).start();
}
public void fire() {
new Thread(() -> {
synchronized (STICKER) {
// Do Stuff
}
}).start();
}
Handle läuft ja ununterbrochen, jetzt möchte ich das die fire Methode sozusage eine hohe Priorität hatt und den Thread in der Handle Methode pausiert bis der synchronized Block in der fire Methode durchgelaufen ist. Mit wait() und notify() habe ich nur ein bisschen gearbeitet und verstehe es leider irgendwie nicht
Kann mir einer vlt. zeigen / erklären wie ich dieses Problem löse, und / oder wie man mit notify() wait() genau arbeitet?
Danke schon mal im vorraus, LG.