Здесь весь мой канал Old Programmer. Здесь: Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). А тут собраны все ссылки по C и C++. А здесь перечень ссылок на ресурсы, посвященные многозадачности.
Продолжим рассматривать многозадачность. Еще один пример на использование в программировании каналов (pipes). На этот раз рассмотрим взаимодействие между двумя дочерними процессами с одним родителем (multi1060.c).
Рассмотрим как работает программа multi1060.c:
- Создается канал (pipe), а затем по очереди два дочерних процесса.
- Первый процесс предназначен для записи и от использует дескриптор op[1], второй процесс читает из канала и использует дескриптор op[0].
- Предполагается, что контроль того, что передача данных закончилась, является символ перевода строки '\n'. Соответственно читающий процесс встретив этот символ заканчивает свою работу.
- Родительский процесс заканчивает свою работу, когда оба дочерних процесса свою работу также закончили.
|