Вопросы по теме 'rwlock'

Делаем pthread_rwlock_wrlock рекурсивным
У меня проблема с поведением функции pthread pthread_rwlock_wrlock . В спецификации, приведенной выше, говорится, что когда один поток блокирует блокировку для записи, а тот же поток блокирует ее снова, это приводит к неопределенному поведению (на...
3460 просмотров
schedule 31.05.2023

Рекурсивный pthread_rwlock_rdlock в Mac OS X/Darwin
У меня есть следующий пример кода (см. код ниже), который выполняется по потоку: A: rd-lock B: wr-lock (waiting) A: rd-lock (recursive) A: rd-unlock (recursive) A: rd-unlock B: wr-locked (wake after wait) B: wr-unlock. В основном блокировка...
1084 просмотров
schedule 08.01.2024

pthread rwlock: rdlock внутри wrlock
Ситуация: Программа использует pthread_rwlock_t , скажем, foolock Поток, скажем T1, получает блокировку записи (полученную с помощью pthread_rwlock_wrlock() ) на foolock T1 пытается получить блокировку чтения ( pthread_rwlock_rdlock() )...
3268 просмотров
schedule 29.09.2023

Читать, предпочитая блокировку мьютекса RW в Golang
Мне нужен мьютекс read, предпочитающий RW мьютекс в golang. Есть ли пакет в golang, который удовлетворит мои потребности. Я попробовал sync.RWMutex, но, похоже, запись предпочитает блокировку. Вот моя попытка отличить RWMutex от Go, package...
5927 просмотров
schedule 21.07.2023

Могут ли периодические блокировки чтения в нескольких потоках надолго затормозить поток записи?
// thread function for readers void func_readers() { for (int i = 0; i < 1000000; ++i) { read_lock(); //do some work; } } // thread function for writers void func_writers() { write_lock(); // do some work; }...
34 просмотров
schedule 30.05.2024

Реализация блокировки R/W с предпочтением записи
У меня есть библиотека мьютексов, и я пытаюсь реализовать блокировку, предпочитающую запись. Я смотрю на этот пример: https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock Я понимаю блокировку, предпочитающую чтение, но не понимаю...
636 просмотров
schedule 24.09.2023

Курсор записей HashMap с RwLockGuard в Rust
Я новичок в Rust, и я пытаюсь реализовать простое, потокобезопасное хранилище ключей и значений в памяти, используя HashMap , защищенный в RwLock . Мой код выглядит так: use std::sync::{ Arc, RwLock, RwLockReadGuard }; use...
545 просмотров
schedule 08.11.2022