На этом уроке мы поговорим о статусах потока: Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped. Создадим функционал для остановки потоков по нажатию клавиш. И научимся сопротивляться этим остановкам.
Дата отправки отчёта:
21 апреля 2016 г.
Задание выполнено: за
15 мин.
Чему научился:
Закрепил голику использования lock, повторил Abort, узнал, какие состояния бывают у потока
Что было сложным:
Ничего
Комментарии:
Мне кажется, нужно было сделать больший акцент на том, что когда мы прерываем поток, то внутри него может возникнуть именно ОШИБКА (если мы его прерываем не во время ожидания). Просто у когда я у себя в одной программе так делал во время выполнения sql запроса (выполнялся он долго, так что в фоновом потоке), программа не ждала, пока он выполниться и просто вырубала весь поток, в связи с чем в нём возникала ошибка. А так всё хорошо =)
Научился: Провел эксперименты с остановкой движения каждого питона. Трудности: Понять смысл работы с ThreadAbortException и методом Thread.ResetAbort(); Так до конца и не понял почему нужно было помещать в while() еще один while() и для чего применяли Thread.ResetAbort(); если все равно питон продолжал двигаться(((