Вопросы по теме 'boost-mutex'

Ручное снятие блокировок?
Ради изучения комбинаторики boost::thread я реализую простой барьер (BR) для потоков, которые блокируют общий мьютекс (M). Однако, насколько я понимаю, при переходе к BR.wait() блокировки на мьютексе не снимаются, поэтому для того, чтобы все потоки...
4472 просмотров

Boost::Mutex в классе не является потокобезопасным
Я изучаю параллельное программирование, и я хочу создать класс, в котором каждый объект отвечает за запуск собственного Boost:Thread. Я немного запутался с этим кодом, потому что он использует МНОГО функций, которые мне не очень удобны (динамически...
1925 просмотров
schedule 16.10.2023

Использование мьютекса Boost в двух разных классах
я использую мьютекс повышения в классе MessageQueue в качестве частного члена в следующем методе void MessageQueue::Dequeuee() { Request rq(messageWareHouse.front().reqID,messageWareHouse.front().seq,...
1264 просмотров
schedule 02.07.2022

Как распределять мьютекс между разными экземплярами класса?
Мне было интересно, как разделить мьютекс одного класса между разными экземплярами другого класса. Прямо сейчас у меня есть класс Indexer, который имеет мьютекс Boost и condition_variable в качестве частных переменных-членов. Я создаю auto_ptr...
2011 просмотров

Проблема с мьютексом Boost::thread: попытка блокировки, нарушение доступа
В настоящее время я изучаю многопоточность с С++, и для этого я использую boost:: thread. Я использую его для простого игрового движка, запускающего три потока. Два потока читают и записывают одни и те же переменные, которые хранятся внутри...
3286 просмотров

может мьютекс повесить выполнение?
Я новичок в серьезном использовании мьютексов. После реализации нескольких мьютексов в разных местах я понял, что выполнение программы зависает (не завершается). Я попытался отладить его (в среде eclipse), но я не смог найти определенную причину...
891 просмотров
schedule 10.06.2023

создание scoped_lock максимум на 200 мс
Я пытаюсь создать временную блокировку мьютекса. Я думал, что использование api из boost может помочь, но мне трудно найти пример кода в качестве ссылки для его использования. scoped_lock(mutex_type & m, const boost::posix_time::ptime &...
58 просмотров

Отложенные блокировки и `boost::lock`
Я читал о разнице между lock_guard и unique_lock и обнаружил, что unique_lock — это расширенная версия lock_guard. Таким образом, с уникальной блокировкой блокировку всегда можно отложить. Я читал это статью и наткнулся на boost::lock. Я хотел...
1442 просмотров
schedule 24.07.2023

Все потоки в boost::thread_group используют один и тот же поток в отношении boost::recursive_mutex
Я подозреваю, что, основываясь на поведении моего кода, если у меня есть boost::thread_group, обращающаяся к объекту, защищенному boost::recursive_mutex, мьютекс не препятствует одновременному входу потоков из группы в защищенную область. Это...
135 просмотров
schedule 06.04.2022

Передать объект класса, имеющий мьютекс, в boost::thread по ссылке
Я хотел бы запустить несколько экземпляров функции, которая выполняет некоторые вычисления. Функция принимает объект класса, и, поскольку класс включает shared_mutex , я передаю его по ссылке, чтобы все потоки обращались к классу через один и тот же...
387 просмотров
schedule 26.03.2022

Одновременное удержание двух блокировок мьютекса
Я хотел бы знать, возникнут ли какие-либо проблемы, если я одновременно удержу два boost::scoped_locks. Блокировки блокируют разные мьютексы. Рассмотрим следующий пример: void foo1() { boost::recursive_mutex::scoped_lock lock(mutex1);...
2021 просмотров
schedule 19.11.2022