Почему падает ReaderWriterLockSlim
От: Doc Россия http://andrey.moveax.ru
Дата: 14.06.13 08:56
Оценка:
Собственно код:
private readonly TimeSpan _defaultTimeout = TimeSpan.FromSeconds(5); // default timeout
private readonly ReaderWriterLockSlim _rwLock = new ReaderWriterLockSlim();

....

public async Task DoSomethingAsync()
{
    ....     
    
    if (this._rwLock.TryEnterWriteLock(this._defaultTimeout)) {
        try {
            ...
            await this.DoSomeOtherTaskAsync();
            ...
        finally {
             this._rwLock.ExitWriteLock();
        }
     }
}


Вопрос, почему периодически this._rwLock.ExitWriteLock(); падает с

System.Threading.SynchronizationLockException: The write lock is being released without being held.
at System.Threading.ReaderWriterLockSlim.ExitWriteLock()


других Exception в этот момент не замечено.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.