| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Флаговая переменная |
| Автор: Xonxt 9.1.2008, 20:04 |
| Доброе время суток. интересует такой тривиальный вопрос. Увы, гугл ответить не может. Есть 2 отдельных приложения. Грубо говоря, клиент и сервер. Сервер че-то записывает в разделяемую память, а клиент должен оттуда это прочитать и вывести на экран. Фича в том, что доступ к этой самой разделяемой памяти надо обеспечить с помощью флаговой переменной. Т.е. не семафоры, не еще одна разделяемая память.. просто переменная... Вот как это сделать можно? Была у меня такая мысль, что сервер может эту флаговую переменнуб записывать в файл, а клиент будет крутиться в бесконечном цикле до тех пор, пока не прочитает эту переменную из файла.. но, имхо, это бред. или можно попытаться передавать эту флаговую переменнуб в очереди сообщений.. но это тоже бред.. |
| Автор: JackYF 9.1.2008, 20:30 |
| А почему не заюзать fifo и стандартное read в клиенте и write в сервере? |
| Автор: Xonxt 9.1.2008, 20:35 |
| Потому что это лабораторная работа Задание так выглядит: 1. Первое приложение читает слово из текстового файла, помещая его в участок разделяемой памяти. 2. Второе приложение из участка разделяемой памяти выводит слово на экран. 3. Синхронизировать доступ к участку разделяемой памяти при помощи флаговой переменной. |
| Автор: bsa 9.1.2008, 21:45 |
| Xonxt, ну тогда заведи в той же самой разделяемой памяти атомарную переменную. значение 0 означает можно читать файл и писать в эту область, значение 1 значит, что файл прочитан и область заполнена. Итого, если 0 второй процесс ждет, первый читает и переводит в 1, после этого первый ждет, второй работает и переводит в 0... |
| Автор: Xonxt 9.1.2008, 21:50 |
| В этом-то и проблема. Мне с помощью флаговой переменной нужно блокировать доступ клиента к разделяемой памяти, а не размещать этот флаг внутри той же разделяемой памяти.. хотя, конечно, можно выделить отдельный небольшой участок памяти... |
| Автор: Xonxt 9.1.2008, 22:12 |
| Ну, допустим, проблема решена. Но еще одна проблема возникла.. Можно ли попросить, дорогие форумчане, простейший пример с двумя приложениями, использующими разделяемую память, и с семафорами? А то не могу вьехать.... |