MethodImplOptions.Synchronized是做什么的?

MethodImplOptions.Synchronized是做什么的?

是下面的代码

[MethodImpl(MethodImplOptions.Synchronized)] public void Method() { MethodImpl(); } 

相当于

 public void Method() { lock(this) { MethodImpl(); } } 

Jon Skeet先生在另一个网站上回答了这个问题。

从post引用

这相当于将锁(this)放在整个方法调用中。

该post有更多的示例代码。

是的。 请参阅MethodImplOptions枚举

对于静态方法,它与以下内容相同:

 public class MyClass { public static void Method() { lock(typeof(MyClass)) { MethodImpl(); } } } 

http://social.msdn.microsoft.com/Forums/en-US/b6a72e00-d4cc-4f29-a6a0-b27551f78b9b/methodimploptionssynchronized-vs-lock