Ami*_*abh 52 .net multithreading
怎么MethodImplOptions.Synchronized
办?
是下面的代码
[MethodImpl(MethodImplOptions.Synchronized)]
public void Method()
{
MethodImpl();
}
Run Code Online (Sandbox Code Playgroud)
相当于
public void Method()
{
lock(this)
{
MethodImpl();
}
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*rab 47
Jon Skeet先生在另一个网站上回答了这个问题.
从邮报引用
这相当于将lock(this)放在整个方法调用上.
帖子有更多示例代码.
对于静态方法,它与以下内容相同:
public class MyClass
{
public static void Method()
{
lock(typeof(MyClass))
{
MethodImpl();
}
}
}
Run Code Online (Sandbox Code Playgroud)