Системное программирование, потоки

Выполнен
Заказ
5198510
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
1 Фев 2023 в 19:55
Цена
3 500 ₽
Блокировка
10 дней
Размещен
25 Янв 2023 в 19:58
Просмотров
97
Описание работы

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


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

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
1 час 13 минут
Выполнен в срок
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир