Многопоточная Windows программная модель посещения почтового отделения

Вадим5 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
14.05.2020

Разработать – в визуальном представлении на консоли – многопоточную модель поведения

посетителей почтового отделения. 

Приложение должно содержать программу на языке С, решающую поставленную задачу, и командный файл для ее трансляции на всем изучаемом семействе ОС, поддерживаемых в настоящее время, и использующий транслятор gcc.

Суть задачи:

Модерируется поведение 24 посетителей, каждый из которых

назависимо от других входит в почтовое отделение, подходит к автомату выдачи талонов на

обслуживание, если кто-то уже берет талон, то встает в очередь к этому автомату. Затем, когда

подошла его очередь или ее нет, ждет, пока не появиться объявление о его талоне и окне к которому

нужно подойти. Таких окон в модели должно быть 3. Подойдя к окну он обслуживается некоторой

время, задаваемое в программе случайно в пределах 0,6 — 1 минут, после чего отходит и выходит из

помещения. Появление посетителей моделируется как случайное в интервале времени модели от 0,5 до

5 минут. Время срабытавания автомата талонов — 3 сек. 

Поведение модели должно отображаться в консольном окне с помощью условных схем, значков и текстов, размер окна не менее 40 строк на 100 столбцов, занимая в ходе моделирующих движений все пространство окна. Отдельный посетитель обозначается одной латинской буквой. Для правильного взаимодействия использовать семафоры или мьютексы, входящие в API Windows.

Также требуется схема алгоритма программы и описание функций(1), глобальных величин(2), семафоров и мьютексов(3).

Пример:

1) int main() – точка входа в программу. Включает в себя инициализацию функции отрисовки городов и дорог, а также запуск нитей городов, инициализацию семафоров и мьютексов.

2) const int stationsCount – целочисленная константа задающая количество станций.

3) print_lock – мьютекс, отвечающий за доступ к выводы в консоль. 

Заявки фрилансеров