Skip to content

Stanislaw-Rudnicki/System_Programming

Repository files navigation

System Programming

Создайте поток, который «принимает» в себя коллекцию элементов, и вызывает из каждого элемента коллекции метод ToString() и выводит результат работы метода на экран.


Создайте класс Bank в котором будут следующие свойства: int money, string name, int percent.
Постройте класс так чтобы при изменении одного из свойств класса создавался новый поток, который записывал данные о свойствах класса в текстовый файл на жестком диске.
Класс должен инкапсулировать в себе всю логику многопоточности.


Написать программу, которая копирует файл блоками по 4096 байт в указанное место.
Должна отображать прогресс копирования с помощью ProgressBar.
Пользователь может указать пути к файлам с помощью клавиатуры или с помощью диалогового окна, которое отображается при нажатии кнопок “Файл”.
Запуск копирования происходит при нажатии кнопки “Копировать” или клавиши Enter в текстовом поле, где указывается путь куда копировать.
GUI должен отвечать на действия пользователя в момент работы.


Создать генератор случайных чисел.
Во время генерации программа должна проверять является ли число совершенное и фибоначчи.
Программа должна работать по такому принципу:
первый поток генерирует числа,
второй проверяет является ли число совершенным,
третий поток проверяет является ли число фибоначчи,
а в четвертом потоке должен быть progressbar.
Первый поток должен ждать, пока второй и третий поток проверит число и только потом генерировать новое число, т.е. одно сгенерировал число, проверил и дальше генерирует.

Screenshot


Написать программу, которая рассчитывает факториалы чисел в пуле потоков и выводит в соответствующий TextBox.

Screenshot


Разработать Windows Forms приложение, которое будет использовать объект-семафор следующим образом:
По нажатию на кнопку «Создать поток» создается новый поток и помещается в первый список, где находятся все созданные потоки.
Порядковый номер потока берется от 1 и увеличивается на один.
При двойном клике на потоке, поток перемещается в список ожидающих потоков, где он будет находиться до тех пор, пока в семафоре не освободится для него место.
Как только такое место освободилось, поток перемещается из списка ожидания в список рабочих потоков и приступает к работе.
Работа заключается в том, чтобы увеличивать локальный счетчик каждого потока на единицу в секунду и отображать это значение.
При двойном клике по потоку в списке рабочих потоков – поток прекращает свою работу, удаляется из списка и освобождает место для очередного ожидающего потока. Количество свободных мест задается в счетчике.
При изменении счетчика более «старые» потоки покидают список, если произошло уменьшение счетчика, или же добавляются новые «ожидающие» потоки при увеличении значения счетчика.
Изменение размера формы происходит динамически, подстраиваясь под наибольшее количество потоков в каком-либо списке.
Примерный вид приложения смотрите ниже (хотя собственная креативность приветствуется).

Screenshot


Game of Life - Игра «Жизнь»

Screenshot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages