Описание тега readerwriterlockslim

ReaderWriterLockSlim is a class in Microsoft .NET framework which represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.
1 ответ

Есть ли безопасный способ использовать ReaderWriterLockSlim в ASP.NET?

Статья Джо Даффи о ReaderWriterLockSlim не вселяет в меня уверенность! Представляем новый ReaderWriterLockSlim в Orcas Блокировка не устойчива к асинхронным исключениям, таким как прерывание потока и нехватка памяти. Если один из них происходит во в…
21 сен '09 в 14:58
2 ответа

Потоковое перечисление разделяемой памяти, которое может быть обновлено или удалено

У меня есть общий объект между потоками, который используется для хранения информации о состоянии файла. Объект, который содержит информацию, является этим классом: /// <summary> /// A synchronized dictionary class. /// Uses ReaderWriterLockSl…
1 ответ

Несколько ReaderWriterLockSlim на ресурсе

ReaderWriterLockSlim позволяет блокировку, которая используется для управления доступом к ресурсу, позволяя несколько потоков для чтения или эксклюзивный доступ для записи. в настоящее время у нас есть следующий код: public ReaderWriterLockSlim prot…
2 ответа

Как избежать блокировки читателей ReaderWriterLockSlim при попытке записи в блокировку записи

Я использую ReaderWriterLockSlim охранять некоторые операции. Я хотел бы отдать предпочтение читателям по сравнению с писателями, чтобы, когда читатель долго удерживал блокировку и писатель пытался получить блокировку записи, дальнейшие читатели в б…
18 сен '15 в 14:38
0 ответов

Являются ли примитивы синхронизации бесполезными в TransactionScopes с асинхронными / ожидающими вызовами?

Я считаю, что все примитивы синхронизации на основе потоков бесполезны в неявных транзакциях. Учитывая класс: public class Country : IEnlistNotification { public ReaderWriterLockSlim Lock { get; } = new ReaderWriterLockSlim(); public void Commit(Enl…
0 ответов

Как установить блокировку чтения-записи для определенного сегмента кода?

Мне нужно заблокировать определенный раздел моего кода, и проблема заключается в следующем: Я должен разрешить несколько потоков чтения и одного потока записи в раздел что-то вроде: get readlock() { if(s==1) get writelock() or else continue with rea…
28 дек '18 в 06:57
1 ответ

Класс для поддержания поточного кеша

Я разрабатываю потокобезопасный класс, который я буду использовать в качестве кэша, он должен работать в.NET и Mono. У предметов есть время жизни, и каждый раз, когда объект извлекается, его время жизни обновляется. Каждый раз, когда я добавляю элем…
1 ответ

ReaderWriterLockSlim и таймер

У меня есть разочарование по поводу ReaderWriterLockSlim и задержка ExitWriteLock. Почему WriteLock выпущен в обратном вызове таймеров? var _lock = new ReaderWriterLockSlim(); _lock.EnterWriteLock(); Assert.AreEqual(true, _lock.IsWriteLockHeld); // …
29 янв '15 в 09:28
1 ответ

Безопасно ли смешивать блокировки и операции блокировки?

У меня есть некоторый код, который должен быть потокобезопасным, поведение которого напоминает это: protected long m_RunningValue protected long m_RunningCounter protected object m_Lock = new object(); public long RunningValue { get { return Interlo…
2 ответа

ReaderWriterLockSlim устойчив к ThreadAbortException?

Я хотел бы проверить, является ли следующий код устойчивым к ThreadAbortException и не приведет к блокировке сирот. Если это не так, каков наилучший способ избежать блокировки сирот здесь? ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(); pub…
1 ответ

Упрощение синтаксиса ReaderWriterLockSlim

Мне недавно пришлось использовать ReaderWriterLockSlim синхронизировать доступ к нескольким ресурсам, которые совместно используются несколькими потоками. Делая это, я чувствовал, что с помощью ReaderWriterLockSlim Это не так просто, особенно, когда…
1 ответ

IDisposable и ReaderWriterLockSlim

У меня есть класс MyClass, Этот класс имеет поле: public ReaderWriterLockSlim rw; (публичный для более простого примера кода). Многие потоки могут читать данные из MyClass с помощью rw.EnterReadLock и т.п. Также я реализовал IDisposable интерфейс: p…
03 фев '13 в 10:36
2 ответа

Почему использование ReaderWriterLockSlim не делает мою цепочку словаря безопасной?

Я написал небольшой фрагмент кода, который быстро читал и записывал в словарь из нескольких потоков. Я использовал ReaderWriterLockSlim для защиты кода и все еще получил исключение для якобы попытки добавить дубликаты ключей. ReaderWriterLockSlim _l…
4 ответа

ReaderWriterLockSection: плохая идея?

При написании некоторого многопоточного кода я использовал ReaderWriterLockSlim класс для обработки синхронизированного доступа к переменным. Делая это, я заметил, что всегда пишу блоки try-finally, одинаковые для каждого метода и свойства. Видя воз…
14 дек '09 в 11:01
1 ответ

Задачи TPL и ReaderWriterLockSlim

У меня странная ошибка в моем текущем проекте. Вот почему у меня есть два вопроса: 1) Почему это происходит?2) Как мне это решить? Некоторая дополнительная информация: я запускаю это в системе с процессором QuadCore (Intel Core2Quad Q9650) У меня ес…
2 ответа

ReaderWriteLockSlim или Lock

Я использую ConcurrentBag для хранения объекта во время выполнения. В какой-то момент мне нужно опорожнить сумку и сохранить содержимое сумки в списке. Вот что я делаю: IList<T> list = new List<T>(); lock (bag) { T pixel; while (bag.TryT…
3 ответа

C# ReaderWriterLockSlim поврежден после прерывания потока, который вызывает ExitReadLock

Я столкнулся со сценарием, когда ReaderWriterLockSlim, кажется, сломался после ряда юридических действий. Поток это: Поток 1 берет писателя lock1 Поток 2 пытается взять блокировку читателя lock1 - Поток 2 прерывается и вызывает lock1.ExitReadLock По…
17 мар '13 в 13:34
0 ответов

ReaderWriterLockSlim блокируется навсегда

Доброе время всем. Моя проблема заключается в следующем: многочисленные потоки ожидают события, чтобы получить блокировку чтения, один поток ожидает события, чтобы получить блокировку записи. В этот момент блокировка не удерживается никаким потоком.…
09 дек '13 в 12:08
2 ответа

Оптимизированный доступ для чтения ReaderWriterLock

Таким образом, я понимаю, что в ReaderWriterLock (или, более конкретно, в ReaderWriterLockSlim) и для чтения, и для записи необходим мьютекс для блокировки. Я хотел бы оптимизировать доступ на чтение для блокировки, чтобы при отсутствии ожидающих за…
16 окт '09 в 15:23
0 ответов

ReaderWriterLockSlim.EnterReadLock перед попыткой блокировки, есть ли причина?

Многие примеры для ReaderWriterLockSlim написаны следующим образом: public string Read(int key) { cacheLock.EnterReadLock(); // is there a reason for this try { return innerCache[key]; } finally { cacheLock.ExitReadLock(); } } Есть ли реальная причи…
12 дек '18 в 09:55