2013-07-17 2 views
1

В Inter Process Communication (IPC) для связи с каждым процессом «PIPE», который требуется ОС, требуется. И для передачи данных из модуля ввода в программу или из программы в модуль вывода «Поток», который требуется ОС, необходимо.В чем разница между потоком и трубой в C

Вот мои вопросы.

  1. Существуют ли различия между PIPE и Stream?
  2. Если они отличаются друг от друга, потому что их функции очень похожи, не полезно ли использовать только «PIPE» или «Stream» для передачи данных?

ответ

1

Труба представляет собой канал связи между двумя процессами. У этого есть конец письма и конец чтения. Когда вы открываете один из этих двух концов, вы получаете поток (запись или чтение). Таким образом, в первом приближении на каждом конце трубы имеется поток.

Так создать IPC, вы должны

  • создать канал с помощью функции pipe. Это возвращает два int s, идентифицирующих два конца труб;
  • обычно вилка для получения двух процессов;
  • Откройте каждый конец трубы (как правило, в другом процессе после разветвления) и получите два соответствующих потока.

http://www.gnu.org/software/libc/manual/html_node/Creating-a-Pipe.html См

Смежные вопросы