C#でメソッドに対して排他制御をするには以下の方法があります。
[MethodImpl(MethodImplOptions.Synchronized)]
public void Method()
{
// TODO
}
public void Method()
{
lock(this)
{
// TODO
}
}
Javaで言うところの「synchronized」修飾子つけたときと同様の動きとなります。
public synchronized void Method()
{
// TODO
}