Лабораторная работа. Системное программирование, потоки

Дата публикации: 25.01.2023 19:33:15
Общая постановка задачи. Требуется разработать программу в виде Linux-приложения, для различных
частей которой создаются и запускается потоки выполнения, а для
синхронизации доступа к требуемым ресурсам используются соответствующие
объекты ОС. Результат выполнения выводится на терминал/консоль.
Программа должна быть устойчивой к некорректному пользовательскому
вводу. Функционирование программы, если это не оговаривается особо, может
быть завершено только путем принудительного снятия процесса с выполнения.
В большинстве вариантов заданий решаются классические задачи
синхронизации. Приостановка выполнения потока на заданный промежуток
времени может выполняться вызовом функции nanosleep().

«Обедающие философы 11 ». В пансионе отдыхают и предаются
размышлениям 5 философов (потоки), пронумерованные от 1 до 5. В столовой
расположен круглый стол, вокруг которого расставлены 5 стульев, также
пронумерованные от 1 до 5. На столе находится одна большая тарелка со
спагетти, которая пополняется бесконечно. Также там расставлены 5 тарелок,
куда накладываются спагетти, и 5 вилок (разделяемые ресурсы), назначение
которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на
стул со своим номером. При этом есть философ сможет только в том случае,
если свободны две вилки – справа и слева от его тарелки. При выполнении
этого условия философ поднимает одновременно обе вилки и может поглощать
пищу в течение какого-то заданного времени. В противном случае философу
приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Величина временного промежутка для поглощения пищи устанавливается
пользователем при старте приложения, а появление философа в столовой
является случайной величиной с равномерным законом распределения.
Источник: www.weblancer.net
Число просмотров: 2

Еще проекты:

Текст для лендинга

Добрый день! Нужен копирайтер, который разработает "продающий" текст лендинга для компании, занимающейся комплексным ремонтом квартир, коттеджей, офисов и т.п. Нужно прописать структуру лендинга, из каких блоков будет он состоять, выделить основные "боли" целевой аудитории, проработать заголовки/подзаголовки, тексты.  Также выделить и продумать УТП с офферами.  Текст нужно оформить в схему-прототип (желательно в Фигме) для дальнейшей передачи дизайнеру для отрисовки макета. Жду Ва...

Логотип отрисовать в векторах по рисунку

Сделан логотип на онлайн площадке. Этот рисунок нужно отрисовать в векторах для изготовления вывески

Разработка B2B-портала торговой компании

Требуется разработка B2B-портала для оптовой продажи расходных материалов для печатающей техники.

Необходимый функционал... цена договорная

варианты логотипа для компании

нужно разработать логотип для новой компании малого бизнеса, название компании "СССР", слоган "качественно и без цензуры",его... Бюджет: 3000 руб

Сделать публичную оферту

Нужно сделать публичную оферту для центра, который занимается обучением коучингу.

Примеры, которые мы рассматривали.

Для... цена договорная