boost::interprocess, прочитать, записать, прочитать |
Здравствуйте, гость ( Вход | Регистрация )
boost::interprocess, прочитать, записать, прочитать |
alexy |
14.10.2013, 22:22
Сообщение
#1
|
Студент Группа: Участник Сообщений: 44 Регистрация: 4.8.2010 Пользователь №: 1931 Спасибо сказали: 0 раз(а) Репутация: 0 |
У меня экземпляры одного класса относяться к разным потокам и синхронизируются с помощью сигналов. для доступа к общим данным использую boost::interprocess::upgradeable_mutex. сделал такие объявления
когда метод только пишет или читает, то понятно. некоторым методам надо сначала найти инфу, потом записать, а потом просигналить что они изменили её. сейчас я как бы терю блокировку - то есть снчала прочитал данные, потом записал, потом опять прочитал. а нужно чтобы в это время блокировка не терялась, т.к. данные могут уже измениться, после того как я их прочитал.. где-то нашел это в интернете boost::upgrade_to_unique_lock но в бусте его не нашел то есть я думал, что создам переменную, которая переведет муткс в эксклюзивную блокировку, потом, при удалении, вернет в upgradeable блокировку. что можно использовать для такой задачи? Сообщение отредактировал alexy - 14.10.2013, 22:30 |
|
|
Алексей1153 |
15.10.2013, 6:58
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
обычно это по такой схеме делается (не про буст речь, а вообще)
или по такой
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 13:02 |