Ree*_*sey 14
在VB.NET中,C#的易失性密钥没有等价.C#中的Volatile只是确保编译器在生成IL时处理不同的事情,但VB.NET编译器没有此选项.
你可以用这种方式解决它(取自这篇博文):
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
Run Code Online (Sandbox Code Playgroud)
Mik*_*ain 12
使用Thread.VolatileRead()和VolatileWrite()BCL的方法.
http://msdn.microsoft.com/en-us/library/system.threading.thread.volatileread.aspx