Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ReaderWriterLockSlim引发异常“写入锁在未保持的情况下被释放”_C#_Thread Safety - Fatal编程技术网

C# ReaderWriterLockSlim引发异常“写入锁在未保持的情况下被释放”

C# ReaderWriterLockSlim引发异常“写入锁在未保持的情况下被释放”,c#,thread-safety,C#,Thread Safety,我对ReaderWriterLockslim有问题。正如您在下面的代码中所看到的,我首先获得writelock,然后释放它。但是当谈到释放时,它说写锁是在不保持的情况下释放的。所以我被困住了,我需要帮助。互联网上没有多少关于这方面的信息 RWLock.EnterWriteLock(); try { //Doublecheck if (DateTime.Now.Subtract(LastRefresTime).TotalMinutes > RefreshTimeInter

我对ReaderWriterLockslim有问题。正如您在下面的代码中所看到的,我首先获得writelock,然后释放它。但是当谈到释放时,它说写锁是在不保持的情况下释放的。所以我被困住了,我需要帮助。互联网上没有多少关于这方面的信息

RWLock.EnterWriteLock(); 
try
{
    //Doublecheck

    if (DateTime.Now.Subtract(LastRefresTime).TotalMinutes > RefreshTimeInterval.TotalMinutes)
    {
        _cacheObject = ReloadCache();
    }

    LastRefresTime = DateTime.Now;
}
finally
{
    RWLock.ExitWriteLock();

}

重载缓存做什么?那会碰锁吗?你能给我们看一下RWLock的声明吗?好的,patapizza你解决了我的问题。我太愚蠢了,我使用了一个属性,这总是导致创建一个新的rwlock实例。谢谢