Duplicar posibles:
How do I specify the equivalent of volatile in VB.net?equivalente volátil en VB.NET
¿Cuál es la palabra clave equivalente de VB.NET C# "volátil"?
Si no hay una palabra clave, ¿qué mecanismo es el equivalente?
Duplicar posibles:
How do I specify the equivalent of volatile in VB.net?equivalente volátil en VB.NET
¿Cuál es la palabra clave equivalente de VB.NET C# "volátil"?
Si no hay una palabra clave, ¿qué mecanismo es el equivalente?
No hay equivalente a la clave volátil C# en VB.NET. Volátil en C# solo se asegura de que el compilador maneje las cosas de manera diferente cuando genera el IL, pero el compilador de VB.NET no tiene esta opción.
puede solucionar de esta manera (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
Uso Thread.VolatileRead()
y VolatileWrite()
métodos de BCL.
http://msdn.microsoft.com/en-us/library/system.threading.thread.volatileread.aspx
Dependiendo de qué tipo variable que utiliza se recomienda usar
System.Threading.Thread.VolatileRead()
System.Threading.Thread.VolatileWrite()
También System.Threading.Interlocked contiene algunas cosas agradables ...
¿Puedo preguntar por qué quieres saber? La mayoría de las personas no intentan escribir algoritmos multiproceso sin bloqueo en VB. –
@EricLippert, discúlpeme si me parece grosero, pero ¿por qué pregunta "por qué quiere saber"? Si la mayoría de la gente no desea alcanzar las estrellas, ¿deberían detenerse esos pocos que lo intentan? Personalmente, desarrollo mucho en VB y puedo decir que este lenguaje está muy por delante de la mayoría de los idiomas. – Dima
@Dima: Porque en ese momento yo estaba en el equipo de diseño para C# y en contacto diario con el equipo de diseño de VB. Al solicitar retroalimentación directamente de los usuarios reales con necesidades reales y determinar cuáles son esas necesidades en su contexto, pude expresar esas necesidades de manera más capaz y precisa a mis colegas en los equipos de diseño para ambos idiomas. Me alegra saber que VB satisface tus necesidades; es un lenguaje delicioso y estrafalario. –