OS[lab3] Вторая лабораторка по линуксу #2

Merged
ElectronixTM merged 2 commits from os/lab3 into master 2025-09-18 00:44:50 +03:00
7 changed files with 336 additions and 0 deletions
Showing only changes of commit bbbf39720b - Show all commits

View File

@ -0,0 +1,5 @@
Во продвинутом уровне задания необходимо было реализовать паттерн producer-consumer. Заводится буффер определенного размера, а также потоки, которые в него что-то кладут и потоки, которые из него что-то берут.
Внутри buff.c сокрыта вся магия по синхронизации буффера, постановке на него предметов и прочего. В main же только создаются потоки. Я решил, что producer будет создавать "ключи", а consumer будет их печатать
Чтобы не решать проблемы с зачисткой буффера в конце, семафоры поставлены на таймаут, по истечении которого поток вылетит