Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
Консольний додаток MultiPipeServer.exe серверного процесу створює
пул із трьох потоків. Кожний з потоків пула створює одну з реалізацій
іменованого каналу для передачі повідомлень у синхронному режимі
й переходить у режим очікування підключення клієнта.
Після підключення клієнта, потік читає передані їм по каналі
повідомлення й виводить на консоль процесу доти поки не одержить
по каналі рядок, що починається з "exit". Первинний потік серверного
процесу, створюючи пул із трьох потоків, зберігає отримані
ідентифікатори потоків пула в масиві, що потім використає для
очікування завершення кожного з потоків пула за допомогою
функції WaitForMultipleObjects. Одержавши код повернення
WaitForMultipleObjects первинний потік визначає який з потоків
пула завершився й відразу створює замість нього новий, розміщаючи
його ідентифікатор на вакантне місце в масиві.
пул із трьох потоків. Кожний з потоків пула створює одну з реалізацій
іменованого каналу для передачі повідомлень у синхронному режимі
й переходить у режим очікування підключення клієнта.
Після підключення клієнта, потік читає передані їм по каналі
повідомлення й виводить на консоль процесу доти поки не одержить
по каналі рядок, що починається з "exit". Первинний потік серверного
процесу, створюючи пул із трьох потоків, зберігає отримані
ідентифікатори потоків пула в масиві, що потім використає для
очікування завершення кожного з потоків пула за допомогою
функції WaitForMultipleObjects. Одержавши код повернення
WaitForMultipleObjects первинний потік визначає який з потоків
пула завершився й відразу створює замість нього новий, розміщаючи
його ідентифікатор на вакантне місце в масиві.