Articles of volatile

Come dichiarare gli elementi dell’array volatile in Java?

C’è un modo per dichiarare gli elementi dell’array volatile in Java? ie volatile int[] a = new int[10]; dichiara il riferimento dell’array volatile , ma gli elementi dell’array (es. a[1] ) non sono ancora volatili. Quindi sto cercando qualcosa di simile volatile int[] a = new volatile int[10]; ma non funziona in questo modo. È […]

La parola chiave volatile C ++ introduce una fence di memoria?

Capisco che volatile informa il compilatore che il valore può essere cambiato, ma per realizzare questa funzionalità, il compilatore deve introdurre una fence di memoria per farlo funzionare? Dalla mia comprensione, la sequenza di operazioni su oggetti volatili non può essere riordinata e deve essere preservata. Ciò sembra implicare che alcune barriere di memoria sono […]

c # – Utilizzo di parole chiave volatili vs blocco

Ho usato volatile dove non sono sicuro che sia necessario. Ero abbastanza sicuro che un blocco sarebbe eccessivo nella mia situazione. Leggere questo thread (commento di Eric Lippert) mi rende ansioso del mio utilizzo di volatile: quando dovrebbe essere usata la parola chiave volatile in c #? Ho usato volatile perché la mia variabile è […]

Cosa significa “volatile” in Java?

Usiamo volatile in uno dei nostri progetti per mantenere la stessa copia della variabile a cui si accede da diversi thread. La mia domanda è se sia giusto usare volatile con static . Il compilatore non fornisce errori, ma non capisco il motivo dell’utilizzo di entrambi.

È bool volatile per il controllo del thread considerato sbagliato?

Come risultato della mia risposta a questa domanda , ho iniziato a leggere la parola chiave volatile e ciò che il consenso è in merito. Vedo che ci sono molte informazioni a riguardo, alcune vecchie che ora sembrano sbagliate e molto nuove che dicono che non ha quasi nessun posto nella programmazione multi-thread. Quindi, vorrei […]

la parola chiave volatile in linguaggio C?

Ho una domanda su volatile in linguaggio C. Ho letto alcuni tutorial ma non riesco ancora a capire, alcuni dicono che il volatile dice all’ottimizzatore del compilatore che le operazioni che coinvolgono questa variabile non dovrebbero essere ottimizzate in certi modi. questo significa che ogni volta che il valore di una variabile cambia nel registro, […]

Quando è preferibile utilizzare il booleano volatile in Java piuttosto che in AtomicBoolean?

Ho esaminato le altre domande volatili contro Atomicxxxx in SO (incluso questo ) e ho letto la descrizione di java.util.current.atomic , e non sono abbastanza soddisfatto delle sfumature. Se sto cercando di decidere tra l’uso di volatile boolean e AtomicBoolean , ci sono delle differenze pratiche oltre alle operazioni di lettura-modifica-scrittura atomiche offerte da AtomicBoolean? […]

Semantica dettagliata di volatile per quanto riguarda la tempestività della visibilità

Si consideri volatile int sharedVar . Sappiamo che il JLS ci offre le seguenti garanzie: ogni azione di un thread di scrittura che precede la sua scrittura di valore i a sharedVar nell’ordine di programma happens-before dell’azione di scrittura; la scrittura di valore i da parte di w happens-before della corretta lettura di i da […]

Funzionamento di __asm__ __volatile__ (“”::: “memoria”)

Che cosa fa in pratica __asm__ __volatile__ () e qual è il significato della “memory” per l’architettura ARM?

Perché il qualificatore volatile viene utilizzato tramite out std :: atomic?

Da quello che ho letto da Herb Sutter e da altri, si potrebbe pensare che la programmazione volatile e concorrente fosse un concetto completamente ortogonale, almeno per quanto riguarda C / C ++. Tuttavia, nell’implementazione GCC tutte le funzioni membro di std::atomic hanno il qualificatore volatile . Lo stesso è vero nell’implementazione di std::atomic Anthony […]