// 读取锁可以被多个线程读取 // 写入锁 只能被一个线程写入 一写多读 本质上也是混合锁 private static ReaderWriterLock ssReaderWriterLock =new ReaderWriterLock(); private static ReaderWriterLockSlim eReaderWriterLockSlim = new ReaderWriterLockSlim(); public static void ReadData() { // 获取写入锁 try { //eReaderWriterLockSlim.TryEnterWriteLock(1000); eReaderWriterLockSlim.EnterWriteLock(); { //保护区代码 } } finally { // 释放写入锁 eReaderWriterLockSlim.ExitWriteLock(); }