Вопросы с тегом «condition-variable»

10
Почему функции условных переменных pthreads требуют мьютекса?
Я читаю на pthread.h; функции, связанные с условной переменной (например pthread_cond_wait(3)), требуют мьютекса в качестве аргумента. Зачем? Насколько я могу судить, я буду создавать мьютекс просто использовать в качестве этого аргумента? Что должен делать этот мьютекс?

6
Должен ли я получить блокировку перед вызовом condition_variable.notify_one ()?
Я немного запутался в использовании std::condition_variable. Я понимаю , что я должен создать unique_lockна mutexперед вызовом condition_variable.wait(). Я не могу найти, нужно ли мне также получить уникальную блокировку перед вызовом notify_one()или notify_all(). Примеры на cppreference.com противоречивы. Например, страница notify_one дает следующий пример: #include <iostream> #include <condition_variable> #include <thread> #include <chrono> …

3
Вызов pthread_cond_signal без блокировки мьютекса
Я где-то читал, что мы должны заблокировать мьютекс перед вызовом pthread_cond_signal и разблокировать мьютекс после его вызова: Подпрограмма pthread_cond_signal () используется для сигнализации (или пробуждения) другого потока, который ожидает переменной условия. Он должен вызываться после того, как мьютекс заблокирован, и должен разблокировать мьютекс, чтобы процедура pthread_cond_wait () завершилась. Мой вопрос: …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.