Описание тега boost-interprocess
Boost.Interprocess является частью библиотеки C++ Boost. Это упрощает использование обычных механизмов межпроцессного взаимодействия и синхронизации.
1
ответ
Использование мьютексов и условных переменных
Я ищу правильный шаблон взаимосвязи между двумя потоками, используя библиотеку Boost Interprocess. Я не думаю, что есть что-то конкретное для библиотеки в отличие от типичного параллельного программирования с использованием стандартной библиотеки. П…
22 дек '15 в 20:39
1
ответ
Межпроцессное взаимодействие: общая память и доступ к объекту потока
Я всегда знал, что разделяемая память - это самый быстрый способ обмена данными между двумя потоками (например, http://www.boost.org/doc/libs/1_55_0/doc/html/interprocess.html). Однако сегодня я обнаружил, что с помощью boost::ref(X) можно дать boos…
25 фев '14 в 08:28
3
ответа
Как мне добиться чего-то похожего на семафор, используя boost в C++?
Я заметил, что boost не поддерживает семафоры. Какой самый простой способ добиться подобного эффекта?
13 окт '10 в 23:24
1
ответ
boost::unordered_map с использованием ошибки компиляции boost::interprocess::cached_node_allocator
Я пытаюсь создать boost:: unordered_map в сегменте boost:: interprocess:: managed_shared_memory. Это работает нормально, пока я не попробую перейти от использования boost:: interprocess:: allocator к boost:: interprocess:: cached_node_allocator. Каж…
14 сен '11 в 21:28
1
ответ
Увеличенное использование managed_shared_memory между двумя процессами (C и C++)
У меня возникла проблема проектирования / реализации с Boost managed_shared_memory, проблема У меня есть два процесса: Writer а также Reader, Вот Writer исполняемый файл C++, использующий boost для записи в общую память Снимок кода для метода записи…
08 окт '17 в 14:16
0
ответов
Уведомление о потоке при изменении boost::interprocess::mapped_region
Как я могу получить уведомление, когда байты в boost::interprocess::mapped_region изменены с помощью interprocess_condition. Я открыл файл и правильно сопоставил конкретный регион. Когда я опрашиваю и печатаю память, обновление прошло успешно. Тепер…
23 фев '11 в 13:04
1
ответ
Почему буст-межпроцесс с именем mutex docs говорит, что у каждого процесса должен быть свой собственный мьютекс?
Я пытаюсь использовать ускоренный межпроцессный процесс с именем mutex, и меня немного смущает эта строка из документации: мьютекс с глобальным именем, поэтому его можно найти в разных процессах. Этот мьютекс нельзя поместить в разделяемую память, и…
10 янв '17 в 15:43
0
ответов
Повышение Интерпроцесс | построить память Handler
Я пытаюсь создать memoryHandler, который позволяет мне создавать и управлять моей общей памятью, например, я хочу создать managed_memory_object только однажды. Когда я создаю сегмент, я хочу сохранить указатель возврата как переменную-член в моем кл…
08 авг '18 в 14:47
0
ответов
Как определить, сколько разделяемой памяти выделить?
Я создаю схему межпроцессного взаимодействия, используя boost::interprocess, Я хочу, чтобы моя область общей памяти содержала некоторые std::vectorи я делаю это на основе приведенного здесь примера. Чтобы общаться, я планирую поместить структуру, по…
27 июл '17 в 09:27
1
ответ
Ускоренный межпроцессный метод message_queue имеет неконстантный метод get_num_msg(). Зачем?
В boost 1.53 message_queue_t имеет следующую функцию-член: size_type get_num_msg(); Это возвращает количество сообщений, сохраненных в данный момент. Никогда не бросает. Я не вижу причин, почему это не может быть постоянным.
14 мар '13 в 16:40
0
ответов
boost::interprocess контейнеры контейнеров и вектор push_back()
Я пытался изменить пример кода boost::interprocess для создания контейнеров контейнеров в общей памяти: http://www.boost.org/doc/libs/1_60_0/doc/html/interprocess/allocators_containers.html Исходный код вставляет контейнер контейнеров в карту, но я …
04 фев '16 в 08:21
1
ответ
Проблема с удалением boost::interprocess::named_mutex
Я сделал ниже программу, но она не смогла удалить named_mutex в конце, распечатать результат "Ошибка удаления Mutex" void IPC::testNamedMutex() { named_mutex mutex(open_or_create, "MyMutex"); for (int i = 0; i < 10; i++) { mutex.lock(); cout <…
04 фев '14 в 07:21
1
ответ
Как узнать, что boost::interprocess::message_queue был удален из системы?
Я создаю обертку отправителя / получателя на основе boost::interprocess::message_queue для отправки сообщений от одного процесса и получения его в другом вы можете просмотреть источники здесь: https://gist.github.com/onto/c322bb0a33433b775966 Сущест…
01 май '15 в 17:22
1
ответ
Усилить анонимное условие межпроцессного timed_wait не компилируется
Мне интересно, что я делаю не так... с подошвой wait он компилируется и запускается, но не с timed_wait: using boost::interprocess::scoped_lock; using boost::interprocess::interprocess_mutex; using boost::posix_time::milliseconds; [...] scoped_lock&…
20 фев '10 в 23:53
1
ответ
Как получить список именованных объектов в общей межпроцессорной памяти Boost
Согласно руководству по Boost Docs Возможно создание именованных векторов некоторого типа (например, двойного) using namespace boost::interprocess; typedef allocator<int, managed_shared_memory::segment_manager> ShmemAllocator; managed_shared_m…
06 дек '17 в 15:13
1
ответ
Повышение межпроцессного режима: возможно, существует внутренняя тупиковая ситуация?
Я использую Boost Interprocess для приложения с общей памятью, и мне кажется, что он очень плохо обрабатывает завершение процесса. Например, я создаю определенный объект данных и сохраняю его в памяти с именем map_name. Затем я запускаю этот код: vo…
13 янв '17 в 18:51
1
ответ
Проверить, если Boost Interprocess managed_shared_memory уже существует?
Есть ли способ (кроме попробовать-поймать), чтобы определить, является ли boost::interprocess:managed_shared_memory регион с определенным именем уже существует? Я знаю, что если я выделю вектор Interprocess в области managed_shared_memory, я смогу п…
01 май '18 в 09:40
1
ответ
Неопределенная ссылка на `shm_open'уже с -L /lib -lrt -lpthread
Я просто хочу использовать библиотеку boost для создания общей памяти в системе ARM. Он отлично работает, если вы хотите скомпилировать его только под Ubuntu. Однако, когда я хочу сделать кросс-компиляцию с помощью CCSv6 от TI и набора инструментов …
31 июл '15 в 13:35
0
ответов
Повысить межпроцессный sharable_lock, уведомить, когда все дочерние процессы разблокированы?
То, что я пытаюсь сделать, это иметь отображенный файл памяти, к которому имеют доступ родительский и дочерний процессы. Процессы используют память для обмена данными следующим образом: Родитель пишет данные Все дети читают данные Ребенок 0 перезапи…
20 ноя '17 в 16:56
2
ответа
Почему объект, размещенный в разделяемой оперативной памяти boost, занимает больше памяти, чем требуется?
Для приведенной ниже программы, использующей межпроцессорную общую память Boost, #include <iostream> #include <boost/interprocess/mapped_region.hpp> #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interpr…
04 июн '15 в 11:24