Threads If-Abfrage vor kritischem Abschnitt

imillitay

Mitglied
Hallo,

eine kurze Frage zu synchronized-Blocks:

Nehmen wir an, eine Objekt-Methode enthält folgenden Code:

Java:
...
if (test == true) {
synchronized (this) {
// Code
}
...

Wäre hier gewährleistet, dass das test-Boolean nach Betreten des kritischen Abschnitts immer noch auf true gesetzt ist? Wäre es theoretisch möglich, dass zwischen der Abfrage und dem Abschnitt ein anderer Thread die Variable ändert?
 
und schreibe bitte anstatt:
Java:
if(test==true)
direkt:
Java:
if(test)
;-)
 
Die if Abfrage steht ja schliesslich nicht in einem synchronized Block.

Selbst dann wäre es möglich oder etwa nicht? Man kennt die Randbedingungen ja hier gar nicht. Welche Möglichkeiten haben die Threads die Variable zu ändern (ist sie private und der Setter auch synchronisiert) oder ist es sogar eine statische Variable etc....
 

Neue Themen


Zurück
Oben