
БОС №3
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное
учреждение высшего образования
«Юго-Западный государственный университет»
Лабораторная работа №3
По дисциплине: «Безопасность операционных систем»
Тема: «Разработка многонитевых программ»
Выполнил: Рохтин Я.А.
студент группы ИБ-21б
Проверил: Чеснокова А.А.
Преподаватель
Курск, 2025
Цель работы
Изучить и научиться применять на практике организации вычислений с помощью нитей (потоков) и овладеть приёмами передачи сообщений между ними.
Задание
Написать многонитевую программу с определённым порядком работы нитей, заданным индивидуальным вариантом задания.
Вариант 18
Принцип работы порядка нитей
Программа начинает работу.
Запуск потока A B C
Поток A завершается и запускает F и E
Поток B завершается и запускает D и I
Поток C завершается и запускает H
Также поток D завершается и запускает поток H
Потоки F и E завершаются и запускают поток G
Поток G завершается и запускает поток H
Потоки I и H завершаются
Конец программы
Выполнение работы
Все действия по созданию многонитевой программы будем производить в среде разработки Visual Studio на языке C#.
Создадим новый файл консольного приложения .Net Framework. Приступим к написанию кода.
Перед началом создадим экземпляр класса ManualResetEvent для каждой нити нашей схемы, это позволит сообщать остальным нитям о состоянии конкретной выбранной. (рис. 1).
Рисунок 1 – создание экземпляров класса ManualResetEvent.
Класс Main будет содержать инструкции по запуску и работе нитей (рис. 2). Согласно схеме первыми должны быть запущены нити A, B, C, далее все операции будут происходить внутри методов самих нитей. (рис. 3).
Рисунок 2 – класс Main.
Рисунок 3 – пример метода потока А.
Дальше создаем операции для остальных потоков, согласно схеме варианта 18. (рис. 4).
Рисунок 4 – Методы всех потоков.
Для удобства просмотра работы многонитевой программы создадим вспомогательный метод (рис. 5), который позволит изменять цвет текста командой BackGround(“ ”).
Рисунок 5 – Метод изменения цвета текста.
Запустим нашу программу и посмотрим результат работы потоков. (рис. 6).
Рисунок 6 – Выполнение программы.
Вывод
Изучили и научились применять на практике организации вычислений с помощью нитей (потоков), овладели приёмами передачи сообщений между ними. Сравнили полученный результат с заданием варианта, получили верную последовательность потоков.