T
ThreadSynchro
Gast
Hallo Community,
eine Frage um alles Thread-safe zu halten.
Nehmen wir mal an ich habe einen Haupt-Thread:
Und jetzt habe ich viele andere Thread die aber alle die gleiche arbeit erleidgen.
Nehmen wir jetzt mal an, ein Thread will meinen MainThread kurz pausieren (wait())
Dann hätte ich das so gemacht:
Wäre das jetzt Thread-safe?`
Andere Möglichkeit wäre ja:
Aber dann wäre das synchronized in meiner Main-Thread-Klasse bei
dem getter und setter überflüssig richtig?
eine Frage um alles Thread-safe zu halten.
Nehmen wir mal an ich habe einen Haupt-Thread:
Java:
public class MainThread extends Thread {
private boolean sleep = false;
public void run() {
...
while(sleep) {
try {
wait()
} catch(InterruptedException e) {
}
}
}
public synchronized boolean getSleep() {
return sleep;
}
public synchronized void setSleep(boolean sleep) {
this.sleep = sleep;
}
}
Und jetzt habe ich viele andere Thread die aber alle die gleiche arbeit erleidgen.
Nehmen wir jetzt mal an, ein Thread will meinen MainThread kurz pausieren (wait())
Dann hätte ich das so gemacht:
Java:
public void doSomething() {
...
MainThread.setSleep(true);
...
}
Wäre das jetzt Thread-safe?`
Andere Möglichkeit wäre ja:
Java:
public void doSomething() {
synchronized(MainThread) {
MainThread.setSleep(true);
}
}
Aber dann wäre das synchronized in meiner Main-Thread-Klasse bei
dem getter und setter überflüssig richtig?