Articles of volatile

Quali tipi di ottimizzazioni impediscono il “volatile” in C ++?

Stavo cercando la parola chiave volatile e a cosa serve, e la risposta che ho ottenuto è stata più o meno: È usato per impedire al compilatore di ottimizzare il codice di distanza. Ci sono stati alcuni esempi, ad esempio quando si esegue il polling dell’hardware mappato in memoria: senza volatile il ciclo di polling […]

Int è volatile in Java thread-safe?

Int è volatile in Java thread-safe? Cioè, può essere tranquillamente letto e scritto senza bloccare?

È volatile costoso?

Dopo aver letto il ricettario JSR-133 per i compilatori di scrittori sull’implementazione della volatile, in particolare la sezione “Interazioni con le istruzioni atomiche” presumo che leggere una variabile volatile senza aggiornarlo abbia bisogno di una LoadLoad o di una barriera LoadStore. Più in basso nella pagina vedo che LoadLoad e LoadStore sono effettivamente non operativi […]

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 […]