Лабораторная 4.
Синхронизация параллельной обработки данных с помощью событий.

Задание

Дано число N и текстовые файлы 1.txt, 2.txt, ..., N.txt, каждый из которых содержит одинаковое количество строк. Разработать программу, которая запускает N потоков. Каждый новый поток, открывает соответствующий файл для чтения (1-й поток открывает файл 1.txt, 2-й - 2.txt и т.п.). По запуску последнего потока начинается заполнение файла result.txt. Данный файл заполняют циклически все потоки программы, сохраняя в нем каждый раз одну строку, последовательно считывая ее из соответствующего текстового файла. Ни один поток не переходит к чтению следующей строки файла, пока ВСЕ потоки не сохранят предыдущую строку в result.txt.

Пример

N = 3
1.txt2.txt3.txtresult.txt
111
222
333
4444
5555
6666
-----
*****
+++++
111
4444
-----
5555
222
*****
333
+++++
6666