私は、仲間の開発者 (それ以来去った) がこのコードに問題がないかどうか疑問に思っています。これと単純なロックを使用するだけでパフォーマンスに違いはありますか?
private long m_LayoutSuspended = 0;
public void SuspendLayout()
{
Interlocked.Exchange(ref m_LayoutSuspended, 1);
}
public void ResumeLayout()
{
Interlocked.Exchange(ref m_LayoutSuspended, 0);
}
public bool IsLayoutSuspended
{
get { return Interlocked.Read(ref m_LayoutSuspended) != 1; }
}
ロックがあればもっと簡単にできると思っていたのですが?確かに複数のスレッドで使用されるため、ロック/インターロックの使用が決定された理由です。