# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
На этом уроке мы сделаем небольшое теоретическое введение в потоки и начнём создавать консольное приложение с самодостаточным классом для Питона. Вопрос: какие ещё статические поля нужно добавить в класс Питона? Отчёт отправил: 8959. Максим Саратов Выполнено за 20 мин. [Показать отчёт] Научился: ничему, все впереди Сложности: не было Комментарии: статичные поля нужны для хвоста и головы |
|||||
2 | Террариум |
|
|||
На этом уроке мы подготовим экран для наших питонов. Сделаем по краям стенки, чтобы они не уползли. Напишем функцию для сохранения и отображения символов. * Создайте метод AddHare() для добавления зайчика. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: по номеру позиции вставлять символ в консоль Сложности: не было Комментарии: рендомный метод добавить кролика реализовал |
|||||
3 | Зайчики |
|
|||
На этом уроке мы напишем статический метод для добавления зайчика на поле. Для этого нам потребуется несколько вспомогательных методов, которые окажутся полезными и в других частях нашей программы. В конце урока мы выведем на экран сотню зайчиков :) Ответить на вопрос: какие не статичные поля нужны питону? Отчёт отправил: 8959. Максим Саратов Выполнено за 20 мин. [Показать отчёт] Научился: уяснил что функции должны быть короткими, сам реализовал в два метода Сложности: не было Комментарии: не статические переменные (разные для разных экземпляров класса) должны быть определение головы, хвоста, движение в какую сторону |
|||||
4 | Питонатор |
|
|||
На этом уроке мы опишем нужные поля для нашего питона и создадим статическую функцию для создания его экземпляра. Также нам понадобится конструктор, который мы сделаем приватным. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: из потоков ничему, но все впереди. Создавать питона Сложности: не было Комментарии: метод show выполнил |
|||||
5 | Поворот головы |
|
|||
На этом уроке мы сделаем отображение питона, поворот его головы и передвижение по экрану. * Оживить питонов самостоятельно. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: ожидаю потоков Сложности: не было Комментарии: все ок, питонов оживил- при создании питона помещаю в коллекцию, затем проходя по коллекции вызываю метод step c интервалом секунда |
|||||
6 | Поток питонов |
|
|||
На этом уроке мы наконец-таки займёмся потоками. Запустим наших питонов сначала в одном потоке, а потом в отдельных - нам понадобится метод Run(). Создадим критическую секцию через lock. Протестируем режим Foreground/Background режимы. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: Запускать потоки, определять критическую секцию и блокировать ее с помощью переменной типа object (тип может быть любой кроме value type). Если запущенные потоки не являются фоновыми (IsBackground = false), основной поток приложения не закроется, будет дожидаться окончания работы всех потоков запущенных в процессе Сложности: не было Комментарии: хороший, информативный урок |
|||||
7 | Бурная жизнь |
|
|||
На этом уроке мы допишем класс питон и получим эстетическое удовольствие от созерцания нашего террариума с нашими Питонами и Зайцами. * Придумать свою фишку и реализовать, написать, что сделал. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: методу join, основной поток дожидается окончания действия потока, у которого вызван метод join Сложности: не было Комментарии: все ок |
|||||
8 | Приоритет |
|
|||
На этом уроке мы поиграемся с приоритетом потоков, воспользуемся монитором для создания критической секции, выведем на экран легенду потоков с id. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: ознакомился с классом Monitor обеспечивает синхронизацию потоков. аналог блока lock Monitor.Enter(какое нить поле) - задает блокировку. Monitor.Exit(поле указанное в Enter) освобождает блокировку Сложности: не было Комментарии: все ок |
|||||
9 | Замри! |
|
|||
На этом уроке мы поговорим о статусах потока: Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped. Создадим функционал для остановки потоков по нажатию клавиш. И научимся сопротивляться этим остановкам. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: Генерация исключения у потока методом Abort, и при обработке исключения можно отменить остановку потока ResetAbort() Сложности: не было Комментарии: все ок |
|||||
10 | Смысл жизни |
|
|||
На этом уроке мы сделаем красивое завершение потока. Также добавим крестики на экран для "логичного" завершения жизни питона. Смысл жизни - в самой жизни, каждый питон это понял, а ты?.. Отчёт отправил: 8959. Максим Саратов Выполнено за 30 мин. [Показать отчёт] Научился: практическому применению на примере, корректного завершения потока Сложности: не было Комментарии: все ок |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с окончанием миникурса "Бурные потоки". Напиши, пожалуйста, отзыв об этом курсе. Что тебе понравилось, что было сложным, что новым, что можно было бы сделать лучше. Ты молодец! Какой курс ты будешь проходить следующим? Отчёт отправил: 8959. Максим Саратов Выполнено за 20 мин. [Показать отчёт] Научился: Ознакомился с классом Thread, с приемами синхронизации потоков (Monitor -аналог lock), как корректно останавливать потоки, используя генерацию исключения abort, и в дальнейшем обработка этого исключения, возможность выполнить reset abort-а Сложности: не было Комментарии: все ок, пока курс не выбрал. Очень хотелось бы увидеть курсы по wpf, wcf в исполнении Евгения. Проходил несколько курсов на других ресурсах, манера расказа-показа Евгения лучшая в инете. |
|||||
12 | VIP. Игры со словами |
|
|||
Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит. |
|||||
Итого: 12 видеоуроков |
3 час. 38 мин. 1 тест |
25 чел. | |||
Финалисты: Максим Лапшинов, Андрей Н., Новопашин Владимир, Сергей Соколов, Артём, Елена, Станислав, Алексей|BrisK|Кривицкий, Yefim, Сергей, Tekashnik, Алексей Малышев, Александр, Sergio, Денис, chokayes, Николай Денисов, ser2018, Иван Воронин, Max, Кирилл, Дмитрий, Anatoli, Алексей В., MaxB . |