Я создал разделяемую память Boost для обмена векторами.
Раздача состоялась.
Однако я не понимаю, как векторы помещаются в общую память.
Я делаю push_back
в общей памяти из процесса записи. Итак, векторы помещаются как стек push
в разделяемую память в порядке LIFO?
Другое приложение, читатель, извлекает вектор следующим образом:
managed_shared_nmemory segment (open_only, "Shared_mem_name");
Vector = segment.find<VECTOR_TYPE>("Vector_name").first;
if (Vector != NULL)
{
//CODDE
}
Теперь вот, какой вектор я читаю. тот, который вставлен последним (самый новый)? И если я это читаю, означает ли это, что вектор выскочил? то есть он все еще находится в общей памяти после чтения, и если да, то будет ли через какое-то время переполняться общая память, и как мне это остановить? Я не вижу ничего в документации по этому поводу...
VECTOR_TYPE
. Я предлагаю вам начать с примера из документации. - person sehe   schedule 06.02.2014