VB.NET 中的 挥发性等效物
Possible Duplicate:
How do I specify the equivalent of volatile in VB.net?
What is the VB.NET keyword equivalent of C# "volatile"?
If there is no keyword what mechanism is the equivalent?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
VB.NET 中没有与 C# 的 volatile 关键字等效的关键字。 C# 中的 Volatile 只是确保编译器在生成 IL 时以不同的方式处理事情,但 VB.NET 编译器没有此选项。
您可以通过这种方式解决此问题(摘自此博客文章 ):
There is no equivelent to C#'s volatile keywword in VB.NET. Volatile in C# just makes sure the compiler handles things differently when generating the IL, but the VB.NET compiler does not have this option.
You can work around it this way (taken from this blog post):
使用 BCL 中的 Thread.VolatileRead() 和 VolatileWrite() 方法。
http://msdn.microsoft.com/en-us /library/system.threading.thread.volatileread.aspx
Use
Thread.VolatileRead()
andVolatileWrite()
methods from the BCL.http://msdn.microsoft.com/en-us/library/system.threading.thread.volatileread.aspx
根据您使用的变量类型,我建议使用
System.Threading.Thread.VolatileRead()
System.Threading.Thread.VolatileWrite()
另外 System.Threading.Interlocked 包含一些不错的东西...
Depending on what variable type you use i would suggest using
System.Threading.Thread.VolatileRead()
System.Threading.Thread.VolatileWrite()
Also System.Threading.Interlocked contains some nice stuff...