C# NET 4.0 SpinWait方法与4.0 SpinWait()之前的方法有何不同?
MSDN声明: “某些并发集合类型使用轻量级 同步机制,例如,SpinWait, ,和,它们在.NET中是新的 框架4“ 而MSDN网站告诉我们,虽然另一篇MSDN文章 好奇的是Lee Grissom的评论回答: “@Matt,.NET4并发类使用C# NET 4.0 SpinWait方法与4.0 SpinWait()之前的方法有何不同?,c#,.net,multithreading,concurrency,spinwait,C#,.net,Multithreading,Concurrency,Spinwait,MSDN声明: “某些并发集合类型使用轻量级 同步机制,例如,SpinWait, ,和,它们在.NET中是新的 框架4“ 而MSDN网站告诉我们,虽然另一篇MSDN文章 好奇的是Lee Grissom的评论回答: “@Matt,.NET4并发类使用SpinWait对象来寻址 线程安全,而不是监视器。进入/退出(又称关键部分)?” 以及第一个NSDN引用,指出SpinWait是.NET4.0的新功能 那么,它是新的还是不新的? 如果是新的,怎么办 将结构引入.NET4。System.Threadi
SpinWait
对象来寻址
线程安全,而不是监视器。进入/退出(又称关键部分)?”
以及第一个NSDN引用,指出SpinWait
是.NET4.0的新功能
那么,它是新的还是不新的?如果是新的,怎么办 将结构引入.NET4。
System.Threading.Thread.SpinWait
方法自.NET 1.0以来一直存在
从SpinWait
结构的文档中:
SpinWait通常不适用于普通应用程序。在大多数情况下,您应该使用.NET Framework提供的同步类,例如Monitor。但是,对于大多数需要旋转等待的情况,应首选SpinWait
类型而不是SpinWait
方法
请注意,有一部分说在大多数情况下不应使用这两种方法:)struct
System.Threading.SpinWait
是.NET 4.0的新结构。方法System.Threading.Thread.SpinWait()
自.NET 1.0以来就存在
请注意,
System.Threading.SpinWait
在内部调用System.Threading.Thread.SpinWait()
。有关更多详细信息,请参阅Joe Duffy的“Windows上的并发编程”(第14章“Spin Waiting”一节)。从您的链接来看,在没有其他知识的情况下,.NET 1.1中似乎有一个SpinWait
函数,而SpinWait
结构是在.NET 4.0Oh中添加的。在我看来,关于线程安全的所有答案都是线程不安全的。合谋阻止我进行多线程编程