Eventuali duplicati:
How do I specify the equivalent of volatile in VB.net?equivalente Volatile in VB.NET
Qual è la parola equivalente VB.NET di C# "volatile"?
Se non esiste una parola chiave quale meccanismo è l'equivalente?
Eventuali duplicati:
How do I specify the equivalent of volatile in VB.net?equivalente Volatile in VB.NET
Qual è la parola equivalente VB.NET di C# "volatile"?
Se non esiste una parola chiave quale meccanismo è l'equivalente?
Non c'è nulla di equivalente alla parola chiave volatile di C# in VB.NET. Volatile in C# si limita a fare in modo che il compilatore gestisca le cose in modo diverso durante la generazione dell'IL, ma il compilatore VB.NET non ha questa opzione.
È possibile aggirare in questo modo (taken from this blog post):
Function VolatileRead(Of T)(ByRef Address As T) As T
VolatileRead = Address
Threading.Thread.MemoryBarrier()
End Function
Sub VolatileWrite(Of T)(ByRef Address As T, ByVal Value As T)
Threading.Thread.MemoryBarrier()
Address = Value
End Sub
Usa Thread.VolatileRead()
e VolatileWrite()
metodi dalla BCL.
http://msdn.microsoft.com/en-us/library/system.threading.thread.volatileread.aspx
seconda di ciò che tipo di variabile si utilizza Io suggerirei di usare
System.Threading.Thread.VolatileRead()
System.Threading.Thread.VolatileWrite()
Anche System.Threading.Interlocked contiene delle belle cose ...
Posso chiederti perché vuoi sapere? La maggior parte delle persone non tenta di scrivere algoritmi multithread bloccati in VB. –
@EricLippert, scusami se sembro maleducato, ma perché chiedi "perché vuoi sapere"? Se la maggior parte delle persone non desidera raggiungere le stelle, quei pochi che provano si fermeranno? Personalmente, faccio molto sviluppo in VB e posso dire che questa lingua è molto più avanti della maggior parte delle lingue. – Dima
@Dima: Perché all'epoca ero nel team di progettazione per C# e in contatto quotidiano con il team di progettazione VB. Sollecitando il feedback direttamente dagli utenti reali con reali esigenze e determinando quali sono i bisogni nel loro contesto, ho potuto esprimere in modo più preciso e preciso le esigenze degli utenti ai miei colleghi dei team di progettazione per entrambe le lingue. Sono lieto di sapere che VB soddisfa le tue esigenze; è un linguaggio delizioso e bizzarro. –