Sto lavorando su un algoritmo di partizionamento grafico (nodi e vertici).scrittura di più thread sulla stessa booleana
Uso più thread per provare ad identificare determinate regioni all'interno del grafico.
Una volta che un nodo è stato identificato come parte di una regione, ho impostato un valore boolean marked
su true per l'oggetto nodo.
Più thread possono tentare di contrassegnare lo stesso nodo allo stesso tempo.
Attualmente utilizzo la sincronizzazione per garantire che non accada nulla di brutto.
Tuttavia, poiché I mai leggere il valore di contrassegnato fino a dopo che tutti i thread hanno terminato l'elaborazione. Sarebbe possibile per me sbarazzarsi del codice di sincronizzazione? In altre parole, qualcosa può andare storto quando si scrive contemporaneamente su una variabile booleana?
è segnato sempre impostato su false quando è stato impostato su true? – berry120
no. appena impostato su true –