Демонстрация использования потоков с делегатами на примере игральных кубиков.
Дата отправки отчёта:
28 июня 2023 г.
Задание выполнено: за
18 час. 38 мин.
Чему научился:
Для каждого варианта вывода создал свой объект Dice. К форме прикрутил таймер и запустил бросок кубиков каждые 1.5 секунды. В результате получил работу программы без действий пользователя. Аналогичный функционал можно реализовать без использования таймера, а с помощью потоков. Для этого в классе Dice я создал новый метод Run, в котором запускается бесконечный цикл с небольшим продыхом между каждой итерацией. Дальше создал объект класса Thread и передал в него метод, который нужно запускать в потоке (Run). После этого запустил поток в фоновом режиме с помощью команд thread.IsBackground = true и thread.Strart. Если нужно передать параметры в вызываемый потоком метод, то это делается так tread.Strart(new int[]{1, 2, 3}). После этого я доработал визуальный класс, при броске костей я проверяю, нужно ли брать данные из другого потока или используем из текущего. За это отвечает свойство InvokeRequired.
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 30187. Tim+1791. Валерий Жданов+111582. Родион+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Научился работать с потоками. Трудности: Тема потоки довольно сложная, надо будет почитать о них подробно. Интересно, но трудновато... Впрочем, дорогу осилит идущий :)