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

Является ли boost :: interprocess :: shared_ptr потокобезопасным (и межпроцессорным)?
Я хочу обмениваться данными между потоками и автоматически удалять их, когда последний пользователь закончит с ними. Похоже, что в большинстве случаев это работает при использовании boost::interprocess::shared_ptr в сегменте...
2282 просмотров

повысить межпроцессную блокировку с помощью блоков таймера, несмотря на то, что должен вернуться
У меня есть код моего приложения, в котором используется boost inteprocess scoped lock with timers . Когда мьютекс получен в одном потоке, связывание второго потока для его получения на несколько миллисекунд завершится ошибкой и будет записывать...
1021 просмотров
schedule 06.10.2021

Как узнать, что boost :: interprocess :: message_queue удален из системы?
Я создаю оболочку отправителя / получателя на основе boost::interprocess::message_queue для отправки сообщений от одного процесса и получения их другим, вы можете просмотреть источники здесь: https://gist.github.com/onto/c322bb0a33433b775966...
313 просмотров
schedule 18.11.2021

Контейнер Boost против Boost multi_index_container
В чем преимущества класса boost :: container по сравнению с классом boost :: multi_index_container? Они могут хранить свои данные в общей памяти и работать с Boost.Interprocess (что очень важно для меня), а multi_index_container, похоже,...
113 просмотров

повысить понимание / использование межпроцессных файловых блокировок
У меня возникли проблемы с использованием анонимного мьютекса ( boost::interprocess::interprocess_mutex ) в экземпляре boost::interprocess::managed_shared_memory . А именно, проблемы возникают при сбое программного обеспечения; мьютекс может...
182 просмотров
schedule 11.09.2021

конструкция boost управляемой разделяемой памяти заканчивается ошибкой шины
У меня есть код, который создаст большой сегмент управляемой разделяемой памяти с использованием ускорения c ++ (около 2 гигабайт). И если у нас недостаточно памяти на машине, она получит ошибку шины. На самом деле ошибка возникает, когда я...
397 просмотров

Отсутствие блокировки при уведомлении переменной условия межпроцессорной обработки вызывает проблемы
ОБНОВЛЕНИЕ 21.02.2020: Удерживание блокировки во время уведомления на самом деле не помогает. Насколько я понимаю, переменная условия остается недействительной в общей памяти ожидающим процессом. Итак, у меня есть это приложение, использующее...
129 просмотров

Удовлетворяет ли std :: vector требованиям контейнера для распределителей Boost.Interprocess?
В boost::interprocess документации говорится, что контейнеры должны храниться в общей памяти: Контейнеры STL могут не предполагать, что память, выделенная с помощью распределителя, может быть освобождена с помощью других распределителей того же...
785 просмотров
schedule 20.02.2022

сбой очереди сообщений boost при отправке строки
Я пытаюсь передать строковое содержимое другому процессу, используя boost interprocess message_queue. У меня нет проблем, когда я передаю целые числа, но когда я хочу передать буфер, лежащий в основе std::string, возникает исключение...
988 просмотров
schedule 20.02.2022

Как я могу вернуть непрозрачный дескриптор (void* или dword), который можно привести обратно к элементу значения, хранящемуся в карте boost::interprocess?
Меня немного смущает семантика кучи и сравнения по значению и по ссылке, связанная с помещением ключа std::string и большого значения struct в такой контейнер, как boost::interprocess::map . Вот моя ситуация и некоторые определения типов,...
571 просмотров

Получение общих векторов из разделяемой памяти Boost InterProcess
Я создал разделяемую память Boost для обмена векторами. Раздача состоялась. Однако я не понимаю, как векторы помещаются в общую память. Я делаю push_back в общей памяти из процесса записи. Итак, векторы помещаются как стек push в...
227 просмотров
schedule 02.05.2022

RAM-диск против межпроцессного взаимодействия Boost
Чтобы набор процессов общался, каковы преимущества и недостатки между: RAM-диск Улучшить межпроцессное взаимодействие RAM-диск позволяет общаться с программами, которые используют только файлы. Насколько велика потеря производительности...
605 просмотров

Может ли вектор Boost Container управлять памятью с помощью не необработанных указателей?
У меня есть структура, похожая на указатель, которая идет вместо указателя. Отличие указателя в том, что он содержит дополнительную информацию, которую (также специальный) распределитель может использовать для освобождения памяти. Эта подобная...
273 просмотров

увеличить межпроцессную общую память с классом внутри класса
Мне нужно создать структуру в разделяемой памяти. Это пример классов: struct A{ std::string str1; int val; } struct B{ A inner; std::string name; } Я не смог найти пример этого в Интернете, но после некоторого поиска я смог увидеть,...
435 просмотров
schedule 14.05.2022

Карты карт, размещенных в общей памяти
Внутри boost::interprocess::managed_shared_memory я пытаюсь создать boost::unordered_map внутри другого boost::unordered_map в качестве значения, имея ключ как std::string для обеих карт. К этой карте на карте внутри сегмента общей памяти...
722 просмотров

форсировать интерпроцессу manage_mapped_file найти ошибку
Я пытаюсь разделить структуру между процессами, используя интерпроцесс в Boost. Я определил сопоставленный файл для использования нулевого мьютекса, потому что у меня были проблемы с его блокировкой, и я не против выполнить синхронизацию...
564 просмотров
schedule 25.08.2022

boost::interprocess::message_queue должен быть создан процессом, который в него пишет?
У меня есть два процесса, использующих один и тот же код для связи друг с другом в зависимости от boost 1.58.0 boost::interprocess::message_queue. typedef boost::shared_ptr<boost::interprocess::message_queue> mq_ptr; mq_ptr m_t2b_queue;...
1323 просмотров
schedule 30.08.2022

Использование контейнеров STL для boost::interprocess::managed_shared_memory
Рассмотрим следующую ситуацию: class Helper { public: // Getters and setters are present! private: int i; std::map<int, boost::interprocess::managed_shared_memory> shm; } int main() {...
944 просмотров
schedule 16.09.2022

IPC через два разных исполняемых файла?
У меня следующая проблема, и я понимаю, что мне нужно использовать либо IPC через общую память, либо сетевые сокеты. У меня есть один исполняемый файл (то есть отдельный .exe), скомпилированный с помощью VS2010, который откуда-то получает данные, и...
445 просмотров

Можно ли хранить полиморфный класс в общей памяти?
Предположим, у меня есть класс Base и Derived : public Base . Я построил сегмент общей памяти, используя библиотеку boost::interprocess. Можно ли иметь код, подобный этому: Base* b = new Derived(); write(b); //one app writes Base* b2 =...
4524 просмотров