An open API service indexing awesome lists of open source software.

https://github.com/vlados1kin/special-programming-platforms

Специальные платформы программирования (часть 1). Special programming platforms (part 1).
https://github.com/vlados1kin/special-programming-platforms

bsuir bsuir-labworks c-sharp dotnet dotnet-8 dotnet-core dotnet-framework spp

Last synced: about 2 months ago
JSON representation

Специальные платформы программирования (часть 1). Special programming platforms (part 1).

Awesome Lists containing this project

README

        

# Специальные платформы программирования

## **1. Лабораторная работа №1**

- Создать класс TaskQueue на языке C#, который реализует логику пула потоков. Создает указанное количество потоков в конструкторе, содержит очередь задач в виде делегатов без параметров, обеспечивает постановку в очередь и последующее выполнение делегатов с помощью метода NewTask и параметра TaskDelegate task.
- Создать консольное приложение на языке C#, которое принимает в качестве параметров командной строки путь к исходному и целевому каталогу на диске, выполняет копирование всех файлов из исходного в целевой каталог, также выполняет это же параллельно с помощью пула потоков, дожидается окончания всех операций копирования и выводит в консоль информацию о количестве скопированных файлов.

## **2. Лабораторная работа №2**

- Создать класс Mutex на языке C#, который реализует двоичный семафор при помощи атомарной операции Interlocked.ComapreExchange. Обеспечивает блокировку и разблокировку двоичного семафора при помощи public методов Lock и Unlock.
- Создать класс OsHandle на языке C#, который обеспечивает автоматическое и принудительное освобождение заданного дескриптора ОС. Содержит свойство Handle, позволяющее установить и получить дескриптор. Реализует метод Finalize для автоматического освобождения дескриптора, а также интерфейс IDisposable для принудительного освобождения дескриптора.