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

Формула программиста
основатель — Волосатов Евгений Витольдович
Yii2 + PHP = 25 уроков с 80% скидкой

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

  • На этом уроке мы поговорим о статусах потока:
    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#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Останавливать поток по клавише и игнорировать запрос на его остановку
Трудности: разобраться в разнице между lock и Monitor. Как я понял lock это обертка для использовании функций класса Monitor, но этот класс предоставляет больше тонких настроек, не только вход и выход из критической секции. Также тело критической секции должно быть наиболее маленьким, ошибки все равно могут возникать. Об этом тут написано: https://blogs.msdn.microsoft.com/ericlippert/2009/03/06/locks-and-exceptions-do-not-mix/
Если зажать клавишу с номером потока и не отпускать, на поле в случайных местах, и даже на рамке появляется эта цифра цветом того потока, где случилось прерывание. Это видно на скиншоте)
Научился: Закрепил голику использования lock, повторил Abort, узнал, какие состояния бывают у потока
Мне кажется, нужно было сделать больший акцент на том, что когда мы прерываем поток, то внутри него может возникнуть именно ОШИБКА (если мы его прерываем не во время ожидания). Просто у когда я у себя в одной программе так делал во время выполнения sql запроса (выполнялся он долго, так что в фоновом потоке), программа не ждала, пока он выполниться и просто вырубала весь поток, в связи с чем в нём возникала ошибка. А так всё хорошо =)