Форум программистов, компьютерный форум, киберфорум
Наши страницы

Параллельный запуск процессов с помощью fork(). Проверить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Графы: матрицы соединений и матрицы связей http://www.cyberforum.ru/cpp-beginners/thread1066009.html
Графом называется совокупность точек ( узлов), некоторые из которых соединены между собой направленными ребрами. Граф , состоящий из n узлов можно описать двумя матрицами порядка n : матрицей...
C++ Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная 1.В функцию передаются границы числового интревала. Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная. 2. Считать строку и вывести на экран... http://www.cyberforum.ru/cpp-beginners/thread1066006.html
C++ Одна программа записывает данные в файл, а другая их считывает и выводит на экран
Задача состоит в том чтоб одна программа записала данные в файл а другая их считала и вывела на экран как полагается, запись и считывание через бинарный режим должны осуществляться. Имеется класс...
Шаблонный класс очереди. Выводит сначала все индексы, потом все элементы C++
#include <iostream> #include <conio.h> using namespace std; const int SIZE=100; template<class X> class queue{ X q; int sloc, rloc;
C++ Строка не передаётся в функцию http://www.cyberforum.ru/cpp-beginners/thread1065984.html
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; str_while(char* str) { int i=0; while(str)
C++ Магия со статическими массивами Предисловие: на форуме подняли топик http://www.cyberforum.ru/cpp-beginners/thread1065365.html , в голове сразу мелькнула мысль написать шаблонную функцию, которой не надо было-бы передавать... подробнее

Показать сообщение отдельно
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
09.01.2014, 16:11  [ТС]
0x10, спасибо большое=)) может быть и стоит считывать данные в цикле while? получается обнаруживается завершившийся потомок->он что-то записал в pipe, а когда в while вызовешь функцию на чтение из пайпа, то писать следующий потомок уже не сможет туда->пока родитель не считает, дочерние блокируются.
Я просто уже как-то раз применял read и write и действительно они инхронизируют чтение-запись.
Просто вот я не знаю для всех ли дочерних процессов будет один только родитель, по мне вроде как да, тогда способ должен сработать.
Но проблема возникает ещё в том, что при запуске данных из потока ошибок процесса программа не завершается, а как бы уходит в бесконечный цикл. И есть сомнения по поводу того, всегда ли в поток ошибок что-то пишется, если процесс завершился нормально или нет.

Добавлено через 1 минуту
Цитата Сообщение от 0x10 Посмотреть сообщение
Ну как я понимаю, это обычная лаба, поэтому можно не заморачиваться, пусть просто работает как задумывалось изначально.
нет, это не лаба, это задание на защиту лабы(дополнительный вопрос)

Добавлено через 3 минуты
Цитата Сообщение от 0x10 Посмотреть сообщение
pipe size (512 bytes, -p) 8
а что это даёт? размер pipe не больше 512 или 512*8?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.