На этом уроке мы сделаем красивое завершение потока. Также добавим крестики на экран для "логичного" завершения жизни питона. Смысл жизни - в самой жизни, каждый питон это понял, а ты?..
Дата отправки отчёта:
21 апреля 2016 г.
Задание выполнено: за
20 мин.
Чему научился:
Убивать змей голыми руками
Что было сложным:
Ничего
Комментарии:
Не совсем понял, зачем нужна эта строчка: PutScreen(head, color, aNone); в основном цикле (предыдущая голова вроде и так очищается), так что перенёс её в самый конец жизни змеи (последний шаг убийства - стереть голову) и сделал, чтобы во время умирания она не могла вертеть головой.
Так, последний (на текущий момент) урок в этом курсе. Нужно написать отзыв. И так, после вебинара прошла целая ночь, вроде всё в голове уже устаканилось, сейчас попробую объективно всё это оценить =)
Этот курс, как и другие в этой серии (других я не проходил), получился просто замечательный, особенно в плане визуализации. Но, в отличии от других, в этот раз это больше замечательная заготовка (для обучения и демонстрации работы с потоками). Сейчас попытаюсь объяснить. Я заметил, что все курсы из линейки "Професишарп" связаны: после того, как в первом мы во всех подробностях рассмотрели IEnumerator, с лёгкостью использовали его во втором, для создания класса работающего с графами, который, я надеюсь, очень пригодится нам здесь для того, чтобы змейка, например, шла к ближайшему зайцу. Как бы то ни было, в этом курсе заметно, что он третий подряд. За одну неделю одному человеку практически невозможно подготовить такую обширную тему, как потоки, тем более с такой потрясающей визуализацией.
Теперь о самом курсе. Если вы ничего не знаете о потоках, лучше сначала пройдите урок "Нити на кубиках" (videosharp.info/video/soft2/nr=62), так как курс называется "Професишарп" и подразумевается, что что-то мы таки знаем =) Что же мы делали на этом курсе? Как я уже сказал большую его часть заняла визуализация, но она полностью стоила того, чтобы потратить на неё столько времени, но, естественно, это не всё. Также мы довольно детально рассмотрели подводные камни, которые встречаются, когда вы хотите, чтобы один объект работал в нескольких потоках, такие как: использование ключевого слова static и механизмы для синхронизации доступа к объектам lock и Monitor. Кроме этого, мы узнали, как задавать потоку определённый приоритет, что это даёт, как прерывать потоки извне, как обрабатывать это прерывание в самом потоке и как один поток может ожидать завершения другого (но, я считаю, что на последнее было выделено мало времени).
Как видите, получился с одной стороны не длинный, и с другой стороны довольно насыщенный курс, и хотя довольно много всего было рассмотрено, почти всё это основы, так сказать база, без которой возможно рассматривать потоки на более глубоком уровне; вот почему, я считаю, что то, что есть на данных момент - это замечательный шаблон, взяв который который за основу можно ещё очень много сделать. С другой стороны, я и сам не знаю, что находится на этом "более глубоком" уровне, да и есть ли он вообще, так что вполне могу ошибаться на счёт всего этого. Но, в любом случае, с нетерпением жду продолжения =)