Программирование для Linux. Профессиональный подход
Шрифт:
5.3.5. Применения функции mmap
Функция
Некоторые программы формируют в отображаемом файле структуры данных. При каждом следующем запуске программа повторно инициализирует файл в памяти, вследствие чего восстанавливается начальное состояние структур. В подобной ситуации следует помнить о том, что указатели на структуры будут некорректными, если они не локализованы в пределах одной отображаемой области и если файл не загружается по одному и тому же адресу.
Другой удобный прием — отображение в памяти файла
5.4. Каналы
Канал — это коммуникационное устройство, допускающее однонаправленное взаимодействие. Данные, записываемые на "входном" конце канала, читаются на "выходном" его конце. Каналы являются последовательными устройствами: данные всегда читаются в том порядке, в котором они были записаны. Канал обычно используется как средство связи между двумя потоками одного процесса или между родительским и дочерним процессами.
В интерпретаторе команд канал создается оператором
Интерпретатор также формирует канал, соединяющий стандартный выходной поток подпроцесса
Информационная емкость канала ограничена. Если пишущий процесс помещает данные в канал быстрее, чем читающий процесс их извлекает, и буфер канала переполняется, то пишущий процесс блокируется до тех пор, пока буфер не освободится. И наоборот: если читающий процесс обращается к каналу, в который еще не успели поступить данные, он блокируется в ожидании данных. Таким образом, канал автоматически синхронизирует оба процесса.
5.4.1. Создание каналов
Канал создается с помощью функции
Данные, записываемые в файл
5.4.2. Взаимодействие родительского и дочернего процессов
Функция
В программе, показанной в листинге 5.7. родительский процесс записывает в канал строку, а дочерний процесс читает ее. С помощью функции
Наследие Маозари 4
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
рейтинг книги
Рассвет русского царства. Книга 2
2. Новая Русь
Фантастика:
альтернативная история
попаданцы
историческое фэнтези
рейтинг книги
По осколкам твоего сердца
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
рейтинг книги
Дважды одаренный. Том VI
6. Дважды одаренный
Фантастика:
аниме
альтернативная история
фэнтези
фантастика: прочее
рейтинг книги
Ожерелье Странника
Приключения:
исторические приключения
рейтинг книги
Газлайтер. Том 17
17. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Древесный маг Орловского княжества
1. Орловское княжество
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
История западной философии
Пути философии
Научно-образовательная:
история
философия
культурология
рейтинг книги
Я до сих пор не царь. Книга XXVII
27. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
рейтинг книги
Кожедуб
1216. Жизнь замечательных людей
Проза:
военная проза
рейтинг книги
КАМЕРГЕРСКИЙ ПЕРЕУЛОК
Фантастика:
фэнтези
рейтинг книги