LINUX.ORG.RU

[c++] shared flag (?)

 


0

0
Хочется, чтобы у 2 процессов был один общий бит (bool). Как такое грамотнее всего реализовать? Пока что создаю файл и проверяю его наличие.
anonymous
Гуглить на тему shared memory. Забыть про понятие общий бит и настроиться на понятие общего интерфейса, то-есть что-то типа методов lock(), unlock(), tryLock(), isLocked() в обоих программах.
Dendy ★★★★★
()
Ответ на: комментарий от Dendy
Ну я гуглил, но мне показалось, что это из пушки по воробью. Может быть, потому что я мыслю такими понятиями, как "общий бит"
anonymous
()
> у 2 процессов

Гугли UNIX|Linux IPC

anonymous
()
Ответ на: комментарий от anonymous
> мне показалось, что это из пушки по воробью.
> Может быть, потому что я мыслю такими понятиями, как "общий бит"
ну если у вас такие понятия как общий бит то файл на диске для этого как коровья лепешка на муравья.
anonymous
()
Ответ на: комментарий от anonymous
>то файл на диске для этого как коровья лепешка на муравья

:D Да, я знаю, мне ещё многому предстоит научиться

anonymous
()
> Как такое грамотнее всего реализовать?

Вариантов -- море; телепаты -- в отпуске...

(Процессы родственные? "Общий бит" разделяется на запись обоими процессами? Нужна ли атомарность test-and-set? Насколько критично оно к производительности, памяти? Переносимость -- Линукс, Позикс, ЦеППшные стандарты? Итп.)

Die-Hard ★★★★★
()
Ответ на: комментарий от anonymous
>мне показалось, что это из пушки по воробью

а ты не подумал, что для создания файла требуется куда больше времени и пространства, чем для создания shared section, м???

вот подумай! вспомни, например, что такое сектор диска, кеширование данных файловой системы в памяти и т.д. а потом уже и отвечай себе на вопрос, какое "зло" меньшее...

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