LINUX.ORG.RU

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


0

0

Разрабатываемая программа на С использует достаточно большой по объему динамический список записей, причем планируется держать несколько копий процессов этой программы. Данные (динамический список записей) во всех этих процессах будут одинаковыми, нельзя ли как-то всем этим процессам пользоваться одним и тем же динамическим списком? Заранее спасибо за ответ.

anonymous

shared memory может подойдет, pipe, rpc.

Usenko
()

база данных получается, что-ли.

Usenko
()

Процессов или тредов? Если процессов, то лучше уж в БД запихать, если тредов, то пользовать общую память и не забывать о блокировках.

Antichrist
()

Не так давно сам работал над этой проблемой. Тут два пути. Либо использовать разделяемую память, и соответственно решать сонм проблем с разграничением доступа и сохранением целостности данных, либо использовать какую-либо СУБД. Я использую MySQL.

С уважением

anonymous
()

Базу данных использовать нельзя, так как работа с этим списком должна быть очень быстрой. А насчет тредов надо подумать, просто эти процессы запускает squid.

anonymous
()

Представь себе что ты используеш STL там есть такой параметр почти для всех контейнеров allocator определи етот класс чтобы работал с "импровизированной" кучей в разделяемой памяти c элементами фиксированного размера (очень просто). Потом всю эту красоту переведи на C и радуйся жизни.

AndyRu
()

Можеш попробовать Berkeley DB - встраиваемая база данных вполне может подойти.

tvn
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.