麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

共享鎖using范圍的實現方法

2020-01-24 03:29:36
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

/// <summary>共享鎖</summary>
public class ShareLock
{
    ReaderWriterLock Lock;
    IDisposable readLock, writeLock;

    public IDisposable ReadLock { get { Lock.AcquireReaderLock(-1); return readLock; } }
    public IDisposable WriteLock { get { Lock.AcquireWriterLock(-1); return writeLock; } }
    public IDisposable UpgradeLock { get { return new UpgraderLocked(Lock); } }
    /// <summary>釋放所有鎖</summary>
    public void ReleaseLock() { Lock.ReleaseLock(); }

    public ShareLock()
    {
        this.Lock = new ReaderWriterLock();
        this.readLock = new Locked(Lock.ReleaseReaderLock);
        this.writeLock = new Locked(Lock.ReleaseWriterLock);
    }
    class Locked : IDisposable
    {
        ThreadStart ReleaseLock;
        public Locked(ThreadStart ReleaseLock) { this.ReleaseLock = ReleaseLock; }
        public void Dispose() { this.ReleaseLock(); }
    }
    class UpgraderLocked : IDisposable
    {
        delegate void ReleaseLockHandler(ref LockCookie lockCookie);

        ReleaseLockHandler ReleaseLock;
        LockCookie Cookie;
        public UpgraderLocked(ReaderWriterLock locker)
        {
            Cookie = locker.UpgradeToWriterLock(-1);
            this.ReleaseLock = locker.DowngradeFromWriterLock;
        }
        public void Dispose() { this.ReleaseLock(ref Cookie); }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费一区二区 | 黄色片网站免费在线观看 | 亚洲成年人免费网站 | 欧美成a人片在线观看久 | 国产精品高潮视频 | 第四色成人网 | 日韩精品中文字幕一区二区 | 欧美一级毛片大片免费播放 | 又黄又爽免费无遮挡在线观看 | 欧美18—19sex性hd | 成人在线视频精品 | 国产一级一片免费播放 | 免费一级毛片在线播放视频 | 欧美成年视频 | 日本网站在线播放 | 伊人成人免费视频 | 欧美日韩免费观看视频 | 欧美a∨一区二区三区久久黄 | 亚洲成人免费影视 | 成人在线观看一区二区 | 日本欧美一区二区三区在线播 | 一级成人黄色片 | 日韩一级片免费 | 天天草夜夜骑 | 欧美成人黄色小视频 | 日韩做爰视频免费 | 国产精品免费久久久 | 成片免费观看视频大全 | 精品国产一区二区三区久久久蜜月 | 午夜视频成人 | 国产成人aⅴ | 精品一区二区三区中文字幕老牛 | 久久毛片| 亚洲免费看片网站 | 毛片在哪看 | 久久精品视频16 | 久在线观看福利视频69 | 欧美另类综合 | 国产一区二区国产 | 久久综合综合久久 | 一级电影在线免费观看 |