На этом слайде мы создадим простейшую программу с двумя потоками.
Дата отправки отчёта:
28 декабря 2018 г.
Задание выполнено: за
1 день 1 час. 6 мин.
Чему научился:
Для реализации задания вывод третьего потока, я создал ещё один Runnable класс, и передал его в отдельный поток. Synchronized реализует поочерёдный доступ к ресурсам. В определённый момент только один из синхронизированных потоков имеет доступ к блокам памяти.
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 1. Евгений Волосатов+120295. Николай+111589. Yefim+110558. Иван Воронин+117947. Dmitry Sinitsin+120563. Никита+120528. Геннадий Кравцов+1791. Валерий Жданов+13922. Александр+117606. Виктор+1Посетитель+17119. Новопашин Владимир+16644. valerys Nikola+110895. Danil42Russia+120071. New programist+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: для создания потока
а) наследуем от Thread (extends Thread)
или
б) имплементируем Runnable (implements Runnable)
Метод run запускает отдельный поток
sleep(), wait() снижают нагрузку на процессор, создавая паузы выполнения инструкций в коде
Для создания нового отдельного потока создаётся новый экземпляр класса Thread с передачей ему аргументом экземпляра first из класса Workerа имплементированного от Runnable
Чтобы ограничить доступ к методам, и позволить только одному потоку менять данные там в какой-либо момент времени, мы используем ключевое слово synchronized.
Synchronized позволяет заблокировать доступ к методу или части кода, если его уже использует другой поток.
Научился: Для класса Worker я создал конструктор с 2 мя параметрами именем потока и временем ожидания
Трудности: 1. Создать новый проект с именем ThreadExample
2. Создать класс с имлементацией интерфейса Runnable и реализовать в нем метод Run();
3. Реализовать основной класс Main, в котором создать экземпляры классов
Worker и Thread.
4. Вызвать метод start() класса Thread.
5. Организовать отдельный поток в виде вечного цикла в основном классе.
6. Запустить программу и убедиться в работоспособности двух потоков.
7. Добавить третий поток и протестировать программу.