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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.