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

ReadWriteLock - это структура из двух блокировок. Из них один блокируется для чтения (доступ может осуществляться несколькими потоками, ни один не может изменять), а другой - для доступа на запись (только один поток может иметь доступ и одновременно изменять его).
1 ответ

Режим блокировки PESSIMISTIC_WRITE в критериях против выбора для обновления

Есть ли существенная разница в производительности при использовании PESSIMISTIC_WRITE в качестве LockMode в критериях гибернации в качестве альтернативы для выбора для запроса на обновление. Вариант использования включает в себя следующие моменты: О…
1 ответ

Как заставить два документа обновлять друг друга в режиме реального времени в зависимости от входных данных друг друга?

Предположительно есть два абстрактных документа, которые соответствуют JTextFields (Оба JTextFields являются разными переменными). Предположим, что пользователь вводит числовое значение в JtextField1(документ A), он должен обновить другой JTextField…
1 ответ

TaskScheduler всегда запускается в одном потоке

У меня есть код, использующий ReaderWriterLockSlim. Я получаю блокировку записи, когда создается определенный объект, и освобождаю его, когда этот объект удаляется через некоторое время. Однако из-за того, откуда поступают эти вызовы, я не могу гара…
05 дек '16 в 22:50
0 ответов

Как заменить одновременно экземпляр без потери данных?

У меня есть много потоков, которые сохраняют состояние, и один поток, который регистрирует состояние. Я хотел бы не потерять данные, что означает всегда регистрировать последнее состояние. У меня есть решение использовать блокировку чтения-записи пр…
26 ноя '18 в 13:56
1 ответ

ReadWriteLocks-(не реентерабельный), как он поддерживает несколько читателей для получения блокировки чтения

Я встречал ниже не повторяющуюся реализацию ReadWriteLock во многих руководствах. public class ReadWriteLock{ private int readers = 0; private int writers = 0; private int writeRequests = 0; public synchronized void lockRead() throws InterruptedExce…
27 июл '16 в 19:33
1 ответ

Быстрая блокировка чтения / записи занимает некоторое время, чтобы снять блокировку

Я пытаюсь реализовать блокировку чтения / записи в Swift с помощью API pthread, и я столкнулся со странной проблемой. Моя реализация в значительной степени основана на следующем с добавлением тайм-аута для попыток блокировки чтения. http://swiftweb.…
2 ответа

Лучшие практики для разработки таблиц для поддержки обновления одного поля быстрее с использованием сервера SQL

Я работаю над Workflow, как система. У меня есть одна таблица задач и поле состояния. Значением статуса может быть одно из следующих: Новый, Готов, Обработка, Ошибка, Прервать, Готово. У меня есть около 7 процессов, которые будут запускаться в завис…
3 ответа

Использование Java ReadWriteLock для синхронизации кэшированных данных - стоит ли помечать переменные состояния как энергозависимые?

Javadoc ReadWriteLock в Oracle и его реализация описывают, что делает блокировка и как ее использовать, но ничего не говорит о том, использовать ли блокировку. volatile ключевое слово. Это не тот же вопрос, что и do-all-mutable-variable-need-be-vol…
1 ответ

Разрешение Whoosh IndexingError: Writer закрыт

В отличие от python whoosh IndexingError при прерывании, я не прерывал никаких коммитов, кроме IndexingError происходит при создании нового индекса: import uuid import os from whoosh.index import create_in from whoosh.fields import * from whoosh.qpa…
2 ответа

QReadWriteLock рекурсия

Я использую QReadWriteLock в рекурсивном режиме. Этот код сам по себе не имеет смысла, но у меня возникают следующие проблемы: lock->lockForWrite(); lock->lockForRead(); lockForRead заблокирован. Обратите внимание, что это в рекурсивном режиме…
12 сен '12 в 06:23
1 ответ

pthread блокировка чтения-записи неопределенное поведение

Я наткнулся на неожиданные результаты в тесте на блокировку чтения-записи pthread. ниже мой код. #include <iostream> #include <thread> #include <pthread.h> //locks declaration pthread_rwlock_t rwlock; //shared resource int numbers[…
14 янв '16 в 11:50
1 ответ

Обновление блокировки чтения до блокировки записи без освобождения первого в C++11?

Я знаю, что это возможно, используя boost::UpgradeLockable в C++14. Есть ли что-нибудь подобное для C++11?
25 янв '16 в 13:35
1 ответ

ReadWriteLock блокировка записи насыщена

У меня проблема с тем, что поток Writer голодает без блокировки. Пожалуйста, посмотрите на следующий код. Если я пытаюсь получить блокировку с помощью tryLock() для блокировки чтения процесс записи станет голодным, и он никогда не сможет писать. Даж…
1 ответ

Использование java FileChannel FileLock, чтобы предотвратить запись файла, но разрешить чтение

Я думаю, что неправильно понимаю, как работают функции блокировки FileChannel. Я хочу иметь эксклюзивную блокировку записи в файл, но разрешить чтение из любого процесса. На компьютере с Windows 7 под управлением Java 7 я могу заставить блокировку F…
25 мар '14 в 21:25
1 ответ

Pthread блокирует чтение-запись FIFO?

В библиотеке pthread.h являются pthread_rwlock_t FIFO? В следующем примере у нас есть несколько потоков. Представьте, что каждый поток гарантированно работает по порядку. // Thread 1 - does a write lock pthread_rwlock_wrlock(&lock); // Thread 2 …
18 апр '17 в 05:48
3 ответа

Как определить, есть ли у потока блокировка?

Я пишу класс Objective-C, который я хочу быть потокобезопасным. Для этого я использую pthreads и pthread_rwlock (с помощью @synchronized излишне, и я хочу узнать немного больше о pthreads). Замок заложен в обозначенных объектах init метод и уничтоже…
23 апр '11 в 18:33
1 ответ

Реализация класса синхронизации чтения-записи

Я пишу класс синхронизации чтения-записи и хотел бы дать несколько советов о том, что мне делать дальше. По некоторым причинам это иногда позволяет Read случиться в середине Writeи я не могу найти причину. Это то, что я хочу от этого класса: Чтение …
23 янв '14 в 19:49
2 ответа

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

При синхронизации доступа к общему ресурсу, есть ли причина не использовать блокировку чтения / записи вместо ванильного мьютекса (которая по сути является просто блокировкой записи), кроме философской причины наличия у нее большего количества функц…
3 ответа

Документальные противоречия о ReentrantReadWriteLock. В конечном итоге блокировка записи имеет приоритет над блокировкой чтения или нет в обычном режиме?

От ReentrantLock Javadoc: Честный режим Когда построено как справедливое, потоки борются за вход, используя политику порядка поступления. Когда текущая удерживаемая блокировка снята, либо блокировке записи будет назначен единственный ожидающий поток…
15 мар '17 в 07:33
1 ответ

Правильное использование блокировок чтения-записи

У меня есть требование, как показано ниже: 1) Класс, который имеет все статические методы и статический список. В этом списке хранятся некоторые объекты, над которыми я выполняю некоторые операции. 2) Теперь эта операция вызывается из нескольких пот…
10 июл '18 в 13:19