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

Тема в разделе ".NET", создана пользователем Dimka197, 24 авг 2011.

  1. Dimka197

    Dimka197 Гость

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

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

    LuMee Well-Known Member

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

    Dimka197 Гость

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

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

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
Загрузка...

Поделиться этой страницей