Ich arbeite an einem Graphen (Knoten und Vertices) Partitionierungsalgorithmus.mehrere Threads, die auf denselben Boolean schreiben
Ich verwende mehrere Threads, um bestimmte Bereiche innerhalb des Graphen zu identifizieren. Wenn ein Knoten als Teil einer Region identifiziert wurde, setze ich boolean marked
für das Knotenobjekt auf true.
Mehrere Threads können versuchen, denselben Knoten zur gleichen Zeit zu markieren.
Derzeit verwende ich die Synchronisierung, um sicherzustellen, dass nichts Schlimmes passiert.
Aber seit ich nie lesen Sie den Wert von markiert, bis alle Threads die Verarbeitung abgeschlossen haben. Würde es mir möglich sein, den Synchronisationscode loszuwerden? Mit anderen Worten, kann etwas schief gehen, wenn gleichzeitig in eine boolesche Variable geschrieben wird?
Ist immer auf false gesetzt markiert wenn es auf wahr gesetzt wurde? – berry120
nein. nur auf wahr gesetzt –