using System.Runtime.CompilerServices;using System.EnterpriseServices; [MethodImpl(MethodImplOptions.Synchronized)] public void DoSomeWorkSync() ...{ //要同步的方法 } [System.EnterpriseServices.SynchronizationAttribute(SynchronizationOption.Required)] public void DoSomeWorkSync() ...{ //要同步的方法 } //同步代码区 public void ccc() ...{ Monitor.Enter(this); Monitor.Wait(this); //需要其他线程操作的代码 Monitor.Pulse(this); Monitor.Exit(this); //另一线程的方法 Monitor.Enter(this); Monitor.Pulse(this); //得到使用权 Monitor.Wait(this); Monitor.Exit(this); } Monitor.TryEnter(this, 1000); ReaderWriterLock c = new ReaderWriterLock(); c.AcquireReaderLock(Timeout.Infinite); c.AcquireWriterLock(Timeout.Infinite);