Articles of volatile

Volatile in C ++ 11

Nello standard C ++ 11 il modello della macchina è passato da una macchina a thread singolo a una macchina a più thread. Questo significa che il tipico static int x; void func() { x = 0; while (x == 0) {} } static int x; void func() { x = 0; while (x == […]

Illustrando l’uso della parola chiave volatile in C #

Vorrei codificare un piccolo programma che illustra visivamente il comportamento della parola chiave volatile . Idealmente, dovrebbe essere un programma che esegue l’accesso simultaneo a un campo statico non volatile e che a causa di ciò ottiene un comportamento scorretto. Aggiungere la parola chiave volatile nello stesso programma dovrebbe risolvere il problema. Quel qualcosa che […]

Le relazioni avvenute prima con i campi volatili e i blocchi sincronizzati in Java e il loro impatto sulle variabili non volatili?

Sono ancora piuttosto nuovo al concetto di threading e cerco di capirne di più. Recentemente, mi sono imbattuto in un post sul blog What Volatile Means in Java di Jeremy Manson, in cui scrive: Quando un thread scrive su una variabile volatile e un altro thread vede quella scrittura, il primo thread indica il secondo […]

La necessità di un modificatore volatile nel doppio blocco controllato in .NET

Più testi dicono che quando si implementa il blocco a doppio controllo in .NET, il campo su cui si sta eseguendo il lock dovrebbe avere un modificatore volatile applicato. Ma perché esattamente? Considerando il seguente esempio: public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() […]

Perché usiamo la parola chiave volatile in C ++?

Possibile duplicato: C ++: quando la parola chiave volatile ti ha mai aiutato? Non l’ho mai usato, ma mi chiedo perché la gente lo usa? Cosa fa esattamente? Ho cercato nel forum, ho trovato solo C # o argomenti Java.

Perché esiste volatile?

Cosa fa la parola chiave volatile ? In C ++ quale problema risolve? Nel mio caso, non ne ho mai consapevolmente avuto bisogno.

Quando usi esattamente la parola chiave volatile in Java?

Ho letto ” Quando usare ‘volatile‘ in Java? “, Ma sono ancora confuso. Come faccio a sapere quando dovrei contrassegnare una variabile volatile? Cosa succede se ho sbagliato, o omettendo un volatile su qualcosa che ne ha bisogno o che mette volatile su qualcosa che non lo fa? Quali sono le regole pratiche per capire […]

Qual è la differenza tra atomico / volatile / sincronizzato?

Come funzionano atomicamente / volatile / sincronizzato internamente? Qual è la differenza tra i seguenti blocchi di codice? Codice 1 private int counter; public int getNextUniqueIndex() { return counter++; } Codice 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Codice 3 private volatile int counter; public int getNextUniqueIndex() { return counter++; } […]

Volatile Vs statico in java

È corretto dire che statico significa una copia del valore per tutti gli oggetti e volatile significa una copia del valore per tutti i thread? Ad ogni modo un valore variabile statico sarà anche un valore per tutti i thread, quindi perché dovremmo optare per la volatilità ?

Quando usare volatile con multi threading?

Se ci sono due thread che accedono a una variabile globale, molti tutorial dicono che rendono la variabile volatile per evitare che il compilatore memorizzi nella cache la variabile in un registro e quindi non venga aggiornata correttamente. Tuttavia, due thread che accedono a una variabile condivisa è qualcosa che richiede protezione tramite un mutex, […]