>Есть некоторый сетевой демон. Входящие сообщения обрабатываются отдельным процессом. Есть некоторые данные, >которые должны храняться в любом случае в памяти; доступ к этим >данным должны иметь все процессы-обработчики (как для чтения, так и для >записи). Где лучше (лучше с точки зрения быстродействия) организовать хранение этих >данных в shared memory и синхронизировать с помощью семафоров или массив >в отдельном процессе, с которым другие будут взаимодейтсвовать с помощью очереди >сообщений. С точки зрения быстродействия - разделяемая память. Однако, на мой взгляд, многое будет определяться в этом случае блокировками и необходимостью нескольких процессов в модификации данного массива. Если большинство обращений - на чтение, то shared memory будет хорошим решением.
|