На этом уроке мы поговорим о статусах потока: Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped. Создадим функционал для остановки потоков по нажатию клавиш. И научимся сопротивляться этим остановкам.
Дата отправки отчёта:
24 апреля 2016 г.
Задание выполнено: за
1 час. 00 мин.
Чему научился:
ловить ошибки потоков
Что было сложным:
переделать весь проект на WinForm
Комментарии:
Я не большой любитель консоли, поэтому решил переделать на вин формы. Визуализация сильно лучше не стала, пока просто перенес все на форму и переписал отображение. Пришлось использовать BeginInvoke, ибо при коллизиях в процедуре отрисовки писало, что объект занят другим потоком.
Научился: Провел эксперименты с остановкой движения каждого питона. Трудности: Понять смысл работы с ThreadAbortException и методом Thread.ResetAbort(); Так до конца и не понял почему нужно было помещать в while() еще один while() и для чего применяли Thread.ResetAbort(); если все равно питон продолжал двигаться(((