Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700

Как сохранить данные контейнера в разделяемой памяти

15.02.2017, 11:20. Показов 5618. Ответов 61
Метки нет (Все метки)

Ищу быстрый способ обмена данными между процессами. Процессы - одинакового типа т.е одна и та же программа и все процессы на одной машине.
Вроде как быстрее чем использование shared memory ничего на ум не приходит

Каким образом можно хранить unordered_map в shared memory так что бы все процессы в связке имели к нему доступ на чтение и запись?
Причем нужно заранее сделать reserve для бакетов хеш таблицы и эти бакеты должны быть зарезервированы в shared memory

От дополнительных рекомендаций по синхронизации (кроме мьютексов) не откажусь
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2017, 11:20
Ответы с готовыми решениями:

Аська на основе разделяемой памяти
Прогреры и хакеры и им подобные... обращаюсь с особой просьбой: есть мысли по поводу перессылки сообщений через разделяемую память между...

Считать структуру из разделяемой памяти
Добрый день! Есть разделяемый файл. В приложении А в файл запихиваю структуру. В приложении Б считываю эту структуру из файла. Выдается...

Синхронизация доступа к разделяемой памяти
Когда потоки являются дочерними по отношению к процессу тут все просто - объект мьютекса находится в общей памяти и используя этот объект...

61
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
22.02.2017, 20:49
Цитата Сообщение от svetogor Посмотреть сообщение
Но мою-то посмотрели, зачем лукавить-то...
Да зачем мне вашу лекцию смотреть то? Я и так по Имперским Таро могу предсказать что там. В DLLMain стоит создание отображаемого в память файла. В вашей голове стоит непонятно на чем основанная вера что DLLMain выполняется один раз, даже если загрузить dll в десяток процессов. Так как вы верите что DLLMain было выполнено всего один раз, вам кажется что, дескать, результаты отображения файла сами собой размножились на все копии dll, во всех процессах.
Цитата Сообщение от svetogor Посмотреть сообщение
На то она и точка входа, чтобы выполняться. Никто ведь не заставляет делать одну и ту же работу повторно. Один раз выполнили "ветку" и хватит.
А теперь читаем MSDN - "When the system starts or terminates a process or thread, it calls the entry-point function for each loaded DLL using the first thread of the process. The system also calls the entry-point function for a DLL when it is loaded or unloaded using the LoadLibrary and FreeLibrary functions.".
Иными словами, DLLMain выполняется при каждой загрузке DLL и даже при создании/удалении отдельных потоков.
0
22 / 22 / 7
Регистрация: 01.02.2017
Сообщений: 54
Записей в блоге: 1
22.02.2017, 23:14
ОК, Renji, я отвечу на твой вопрос, когда ты его правильно сформулируешь в ветке "С++ для начинающих" этого форума. Даже в ветке "Форум Visual C++".
Рекомендую тебе не увлекаться Таро, даже имперским, да предвзятым чтением MSDN, а больше практиковаться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2017, 23:14

Запись и считывание разделяемой памяти
Всем доброго времени суток. Столкнулся с одной проблемой. Есть две программы: 1 создаёт разделяемую память и записывает туда данные, а...

Хранение указателей в разделяемой памяти
Выручайте ребята. Задали лабораторную на взаимодействие процессов. Не могу справиться с сохранением указателей на структуры в...

Сделать массив из 10 int в разделяемой памяти
Хочу сделать массив из 10 int в разделяемой памяти. Доступ из разных процессов от fork(). Так понимаю, 19-20 строки должны сказать...

В чем основное преимущество разделяемой памяти
Подскажите в чем основное преимуществоразделяемой памяти

Прогон программ с использованием разделяемой памяти
/* Мы организуем разделяемую память для массива из трех целых чисел. Первый элемент массива является счетчиком числа запусков программы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
62
Ответ Создать тему
Новые блоги и статьи
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru