Взаимодействие процессов

  • Автор темы Dimka197
  • Дата начала
D

Dimka197

Гость
#1
Нужно написать задачу, в которой дано 10 процессов (там P1, P2, …, Р10, например) Функционирование и взаимодействие процессов следующее:
• P1 (запускается пользователем): Запустить процессы P2, Р3, …, Р10. Далее, процесс Р1 следит за количеством подчинённых процессов (т.е. сколько из Р2 – Р10 работают), если какой-то процесс завершается, то Р1 тут же запускает его заново. Иначе говоря, в системе должно постоянно работать 10 процессов.
• P2, Р3, …, Р10 (запускаются процессом P1): каждый процесс выводит на экран время собственного старта, после чего генерирует случайное чисто от 2 до 10 (назовём его Т), выводит Т на экран и засыпает на Т секунд. После этого процесс завершается.

как это сделать? подскажите
 

LuMee

Well-Known Member
02.05.2006
477
0
#2
Можно сделать так: пусть управляющий процесс (Р1 в условии задачи) создаст 9 потоков; каждый из этих потоков в цикле пусть запускает "свой" процесс Р2-Р10.
Тело рабочего метода потока будет выглядеть примерно так:
Код:
while (true) // сюда лучше вставить какое-то условие для останова
{
var process = Process.Start("lalala.exe");
process.WaitForExit();	
}
После запуска этих потоков управляющему процессу остается только ждать, скажем, некоторого ввода от пользователя, который бы обозначал команду выхода. При получении этого ввода управляющий процесс стопорит потоки, приложение завершает работу.
 
D

Dimka197

Гость
#3
А можно пополнее код? а то я по этой теме вообще мало чего понимаю, увы:facepalm:

Спасибо заранее за помощь