Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Вебинар «Что тебе поможет стать крутым программистом?» начнётся через 1 час. 09 мин.

Бурные потоки / Замри!

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




Оцени работу

 
Сохранить страницу:

24. Оля
Оля
ответить
→  Максим  # Бурные потоки / Замри! / 2016-04-21 22:59

Молодец! :)


  • Отчёт оценивали:
    8380zhikharevav+1   4805Сергей В+1   4467Alcatraz+1   4992Николай+1   1Евгений Волосатов+1   9541Сергей Валерич0   6452Кирилл Шмойлов+1   6644valerys Nikola+1   1537Сергей+1   2570Maksim+1   689Igorenzia+1   9288Pučko Antonina+1   459Сергей Сергеевич+1   791Валерий Жданов+1   9237Mais+1   9263Андрей Н.+1   3506Алексей|BrisK|Кривицкий+1   6925Артём+1   9567Максим+1   24Оля+1   4342Алекс+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: новые методы класса Thread
У нас получается настоящий хаос, когда мы не даём потоку прерваться, в плане вызываемое прерывание оставляет "следы", можно ли ловить на консоли нажатие клавиши, но не записывать её?
Научился: Останавливать поток по клавише и игнорировать запрос на его остановку
Трудности: разобраться в разнице между lock и Monitor. Как я понял lock это обертка для использовании функций класса Monitor, но этот класс предоставляет больше тонких настроек, не только вход и выход из критической секции. Также тело критической секции должно быть наиболее маленьким, ошибки все равно могут возникать. Об этом тут написано: https://blogs.msdn.microsoft.com/ericlippert/2009/03/06/locks-and-exceptions-do-not-mix/
Если зажать клавишу с номером потока и не отпускать, на поле в случайных местах, и даже на рамке появляется эта цифра цветом того потока, где случилось прерывание. Это видно на скиншоте)