Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БОС №3

.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
179.02 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное

учреждение высшего образования

«Юго-Западный государственный университет»

Лабораторная работа №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 – Выполнение программы.

Вывод

Изучили и научились применять на практике организации вычислений с помощью нитей (потоков), овладели приёмами передачи сообщений между ними. Сравнили полученный результат с заданием варианта, получили верную последовательность потоков.

Соседние файлы в предмете Безопасность операционных систем