Когда вы хотите использовать ReaderWriterLock
, вы объявляете его следующим образом:
ReaderWriterLock rwLock = new ReaderWriterLock;
Хорошо, если вы делаете это для всех ваших различных потоков, которые собираются получить доступ к некоторымресурс, который вы хотите защитить, все они (предположительно) используют разные экземпляры ReaderWriterLock.
Как экземпляр ReaderWriterLock совместно используется потоками?
Также, в качестве бонуса, кто-то может подтвердить для менячто то, что вы действительно"блокируете", является состоянием ReaderWriterLock, а не каким-либо ресурсом.В отличие от lock(someResourceToLock)
, вы не блокируете ничего, кроме состояния экземпляра ReaderWriterLock (независимо от того, находится ли он в режиме чтения или записи, и разрешено ли вам еще чтение и запись).