Программы для консольного процесса Administrator и процессов Writer - C#
Формулировка задачи:
Здравствуйте!
Написать программы для консольного процесса Administrator и процессов Writer. Для моделирования передачи сообщений ввести специальные события, которые обозначают сообщение “+”, сообщение “-”, и конец сеанса для процесса Writer.
Одновременно принимать и отправлять сообщения может только один процесс Writer, передача остальных сообщений от других процессов должна блокироваться с помощью мьютексов;
Процесс Administrator:
запрашивает у пользователя количество процессов Writer, которые он должен запустить;
запускает заданное количество процессов Writer;
принимает сообщение от процесса Writer;
выводит на консоль сообщение;
принимает от каждого процесса Writer сообщение о завершении сеанса и выводит его на консоль в одной строке;
завершает свою работу.
Процесс Writer:
запрашивает с консоли сообщения, и передает их (по одному) процессу Administrator;
передает сообщение о завершении сеанса процессу Administrator;
завершает свою работу.
Решение задачи: «Программы для консольного процесса Administrator и процессов Writer»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace Writer { class Program { static void Main(string[] args) { Mutex mutex = Mutex.OpenExisting("Queue"); mutex.WaitOne(); EventWaitHandle starEvent = EventWaitHandle.OpenExisting("starEvent"); EventWaitHandle dotEvent = EventWaitHandle.OpenExisting("dotEvent"); EventWaitHandle exitEvent = EventWaitHandle.OpenExisting("exitEvent"); while (true) { starEvent.Reset(); dotEvent.Reset(); exitEvent.Reset(); string input = Console.ReadLine(); if (input != "+" && input != "-") { exitEvent.Set(); break; } else if (input == "+") { starEvent.Set(); } else if (input == "-") { dotEvent.Set(); } } mutex.ReleaseMutex(); exitEvent.Reset(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д