我只是想知道一个开发人员(后来离开)的代码是否可以,我认为他想避免加锁。这与仅使用直接锁定之间是否存在性能差异?
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; }
}
我在想这样的事情用锁会更容易吗?它确实会被多个线程使用,因此决定使用锁定/互锁的原因。