Задание 12: многопоточный конвейер
Требуемые условия завершения
Открыто с: суббота, 21 мая 2016, 13:00
Срок сдачи: суббота, 28 мая 2016, 23:00
Реализовать многопотоковую версию сервера с разделяемой памятью из предыдущих заданий для параллельной обработки запросов от клиентов (каждый запрос обрабатывается в отдельном потоке). Файл должен быть достаточно большим, чтобы каждой отдельный запрос выполнялся заметно долго. Файл, несмотря на то, что он является общим ресурсом для всех потоков, не следует блокировать. Доступ к разделяемой памяти, естественно, должен быть согласованным для серверных потоков и для клиентский процессов.
Указание: продвинутые студенты могут реализовать в основном потоке сервера небольшой диспетчер для отслеживания активности потоков.