Guida al C#
Capitolo 6° - Classe Volatile
La parola chiave volatile indica che un campo potrebbe essere modificato da più thread eseguiti contemporaneamente. I campi dichiarati volatile non sono soggetti a ottimizzazioni del compilatore che presuppongono l'accesso da un singolo thread. In questo modo nel campo è sempre presente il valore più aggiornato.
Il modificatore volatile è in genere utilizzato per un campo al quale accedono più thread senza utilizzare l'istruzione Istruzione lock per la serializzazione dell'accesso. Per un esempio di volatile in uno scenario multithreading.
La parola chiave volatile può essere applicata ai seguenti tipi di campi:
La parola chiave volatile può essere applicata solo a campi di una classe o una struttura. Le variabili locali non possono essere dichiarate volatile.
Piu avanti impareremo l'uso dei Thread e come gestirli appunto con la classe volatile.
class Test { public volatile int i; Test(int _i) { i = _i; } }
Oppure
using System; public class Singleton { static object sync = new object(); static volatile Singleton singleton = null; private Singleton() { } public static Singleton GetSingleton() { if (singleton == null) { lock(sync) { if (singleton == null) singleton = new Singleton(); volatile Box volume = 123.45; } } return(singleton); } }
VB.NET, C#, C++, PHP, MySQL, Javascript , LUA,Infarinatura di Python e Ruby, Grafica Vettoriale (Esperto di CorelDraw)
DirectX 9 e XNA Game Studio, Silverlight, jquery, Autoit e Android.
Esperto in Unity e Buona conoscenza di Blender.
Esperto C# UI Designer
Ottima conoscenza sulle tecnologie PBR.
Assembly? Sto imparando...
|