using System.Threading; namespace Curtain.Net.Sockets.PLC.ThreadLock { /// /// 线程同步操作读写锁 /// internal class ReaderWriterThreadLock : ReaderWriterLockSlim, IThreadLock { public bool Locked { get; private set; } public bool Lock(int timeout = -1) { return Locked = this.TryEnterWriteLock(timeout); //return Locked; } public void Unlock() { this.ExitWriteLock(); Locked = false; } } }