Винятки в асинхронному коді. Скоординоване скасування. Блокування
ITVDN: курси програмування
Відеокурси з
програмування

Замовити дзвінок

Вибери свою IT спеціальність

Підписка

Замовити дзвінок

+38 099 757 27 82

×

Ви відкрили доступ до тесту! Пройти тест

Ви дійсно бажаєте відкрити доступ до тестування за курсом C# Асинхронне програмування на 40 днів?

ВІДЕОУРОК № 7. Винятки в асинхронному коді. Скоординоване скасування. Блокування

Для перегляду повної версії відеокурсу, онлайн тестування та отримання доступу до додаткових навчальних матеріалів придбайте курс Придбати курс
Для перегляду всіх відеокурсів ITVDN, представлених у Каталозі, а також для отримання доступу до навчальних матеріалів та онлайн тестування придбайте підписку Придбати підписку

Цей урок є введенням в асинхронне програмування мовою C#. Для правильного розуміння технологій та методів їх застосування ви ознайомитеся з основною термінологією та розгляньте приклади, коли необхідно застосовувати техніки асинхронного програмування. На цьому уроці ви зможете наочно побачити, як асинхронність у прямому сенсі пожвавлює програми різних шаблонів (Console, WPF).

Читати далі...

Урок познайомить вас із роботою бібліотеки TPL – Task Parallel Library. Ви ознайомитеся з роботою класу Task/Task TResult, який лежить в основі асинхронного програмування. На уроці буде розглянуто більшість властивостей та методів класів Task та Task TResult. Також у цьому уроці розглядається нововведення у бібліотеці, а саме структура ValueTask/ValueTask TResult.

Читати далі...

Мета цього уроку полягає в тому, щоб познайомити студента з роботою планувальника завдань. Ми детально розглянемо клас TaskScheduler та розглянемо кілька популярних реалізацій цього абстрактного класу. Завдання другої частини уроку полягає у розборі дочірніх і вкладених завдань, розуміння відмінностей цих типів завдань, позначаються їх поведінці.

Читати далі...

Урок познайомить вас із роботою ключових слів async await. Докладно будуть розглянуті правила використання кожного з цих ключових слів. Для більш глибокого розуміння роботи async await буде розглянута їх внутрішня реалізація, яка забезпечується за допомогою спеціальних типів та деякої роботи компілятора.

Читати далі...

Урок познайомить вас із роботою ключових слів async await у додатках WPF та ASP.NET. Завдання уроку полягає в тому, щоб розглянути роботу продовжень оператора await при взаємодії з контекстом синхронізації, планувальником завдань та пулом потоків для виконання у контексті продовжень. Буде розглянуто способи вплинути на роботу продовжень оператора await, особливості роботи типу void, що повертається, з модифікатором async, а також асинхронні лямбда вирази.

Читати далі...

Урок познайомить слухачів лекції із принципами асинхронного програмування. На уроці будуть розглянуті як різновиди асинхронних операцій, і асинхронність загалом. Після цього уроку студенти отримають повне уявлення про поняття «асинхронність». Буде розглянуто основні асинхронні шаблони програмування, а також чисті асинхронні API для спрощення роботи з асинхронним шаблоном TAP та ключовими словами async await. Студенти навчаться переписувати API старих асинхронних шаблонів згідно з новим TAP. Для цього на уроці розглядається тип TaskCompletionSource. Наприкінці уроку буде розглянуто обмеження використання оператора await.

Читати далі...

Урок познайомить вас зі способами упіймання та обробки винятків у контексті потоків та задачах. Ми розглянемо особливості обробки винятків за допомогою ключових слів async await. На цьому уроці ми також торкнемося винятків та їх обробки в контексті дочірніх та вкладених завдань. Після цього ми познайомимося зі скасуванням виконання завдання, тобто з так званим скоординованим скасуванням. Щоб писати асинхронний код якісно, необхідно знати блокування. На цьому уроці ми розглянемо деякі ситуації, які можуть призвести до них, а також розглянемо вирішення цієї проблеми. Розглянемо рішення з використанням ключових слів async await та налаштування роботи оператора await у вигляді методу ConfigureAwait. Наприкінці уроку ми розглянемо прогрес асинхронної операції. Іноді це може допомогти зробити вашу програму більш привабливою для користувача.

Читати далі...

Урок познайомить вас із потокобезпечними колекціями із простору імен System.Collections.Concurrent. На цьому уроці будуть розглянуті колекції, що працюють за шаблоном Producer-Consumer: ConcurrentQueue, ConcurrentStack, ConcurrentBag. Так як ці колекції реалізують шаблон Producer-Consumer – на уроці буде розглянутий і цей патерн. Для його забезпечення ми познайомимося із потокобезпечною оболонкою BlockingCollection. Після цього ми познайомимося з класом для паралельних викликів та паралельних циклів – Parallel. Буде розібрано питання щодо налаштування виконання цього типу та щодо стеження за станом паралельних ітерацій. А також буде розглянуто обробку винятків із класу Parallel.

Читати далі...

Урок познайомить вас із потокобезпечною колекцією ConcurrentDictionary. Ця колекція буде розглянута у повному обсязі. Починаючи від розгляду всіх API по роботі з елементами, закінчуючи налаштування та технічну реалізацію колекції. У другій частині уроку буде розглянута мова паралельних запитів Parallel LINQ (PLINQ). Цей урок познайомить вас з тим, як влаштований PLINQ, які у нього оператори, а також як їх можна налаштовувати. Також, не обійдемо стороною скасування виконання паралельного запиту та опрацювання винятків, що виникли в ньому.

Читати далі...
ПОКАЗАТИ ВСЕ

Відгуки наших студентів

DOU

Відгуки в DOU

4,9/5 - 200 відгуків

Oleksandr Martynenko
Oleksandr Martynenko
5/5
Пройшов курс Frontend JavaScript Базовий, від Дмитра Охрименка, дуже класний лектор. Якщо ви вирішили вивчати цей напрямок, раджу спробувати!
Почитати оригінал
Facebook

Відгуки в Facebook

5,0/5 - 707 відгуків

Ирина Василенко
Ирина Василенко
5/5
Была участницей акции «Изучай Web Testing бесплатно» на образовательном ресурсе ITVDN.Курс очень насыщенный, много примеров, что для меня важно! Преподаватель показал и рассказал доступно и понятно. Нашла много нового полезного в области тестирования!
Почитати оригінал
Google

Відгуки в Google

4,9/5 - 836 відгуків

Елена Ломакина
Елена Ломакина
5/5
Отличная платформа для обучения программированию и все, что связано со сферой IT. Здесь огромное количество курсов для самостоятельного обучения по видеолекциям с домашними заданиями и мини-тестами в конце каждого урока. Цены на обучение здесь на порядок ниже, чем в оффлане и учиться можно спокойно в своем темпе в любое время суток. Нововведением платформы стали курсы онлайн в потоке с преподавателем, хотя этот вид обучения я еще не пробовала. Отдельно хочу отметить преподавателя Дмитрий Охрименко, который очень подробно все объясняет и на словах, и на картинках, и на примерах (курсы Javascript). Кстати обновленный курс Javascript Starter был 10 дней доступен бесплатно, и за это время вполне возможно его освоить.
Почитати оригінал
Студенти також дивляться
C# 5.0 Стартовый
ДЕТАЛЬНІШЕ
C# 8.0 Стартовий
ДЕТАЛЬНІШЕ
С# Базовий (ООП)
ДЕТАЛЬНІШЕ
C# Базовый (ООП) 2021
ДЕТАЛЬНІШЕ
C# Поглиблений
ДЕТАЛЬНІШЕ
C# Універсальні шаблони
ДЕТАЛЬНІШЕ
Что нового в C# 6.0-7.0
ДЕТАЛЬНІШЕ
С# 5.0 для професіоналів
ДЕТАЛЬНІШЕ

Купуй підпискуз доступом до всіх курсів та сервісів

Бібліотека сучасних IT знань у зручному форматі

Вибирай свій варіант підписки залежно від завдань, що стоять перед тобою. Але якщо потрібно пройти повне навчання з нуля до рівня фахівця, краще вибирати Базовий або Преміум. А для того, щоб вивчити 2-3 нові технології, або повторити знання, готуючись до співбесіди, підійде Пакет Стартовий.

Стартовий
  • Усі відеокурси на 3 місяці
  • Тестування з 10 курсів
  • Перевірка 5 домашніх завдань
  • Консультація з тренером 30 хв
59.99 $
Придбати
Преміум Plus
  • Усі відеокурси на 12 місяців
  • Тестування з 24 курсів
  • Перевірка 20 домашніх завдань
  • Консультація з тренером 120 хв
  • Завантаження відео уроків
149.99 $
199.99 $
Придбати
Акція
Базовий
  • Усі відеокурси на 6 місяців
  • Тестування з 16 курсів
  • Перевірка 10 домашніх завдань
  • Консультація з тренером 60 хв
89.99 $
Придбати

Запитання і відповіді

У чому перевага онлайн курсів програмування у порівнянні з офлайн?
Яка вартість навчання?
Скільки часу знадобиться, щоб опанувати програмування?
Скільки часу знадобиться, щоб опанувати ІТ-спеціальність?
З якого курсу розпочинати навчання?
Як керувати своїм часом та організувати ефективне онлайн-навчання з тренером?
Чи є у вас допомога з працевлаштуванням після закінчення навчання?
Чи можливе персональне навчання з тренером ITVDN?
З якого віку можна навчатися на платформі?
Чи потрібні знання англійської мови для навчання?Чи потрібні знання англійської мови для навчання?
Якого рівня можна досягти, пройшовши навчання зі спеціальності?
Коли закінчиться підписка, що далі? Доступу до уроків не буде?
Чи додаються знижки на придбання підписки?
У чому перевага онлайн курсів програмування у порівнянні з офлайн?

Онлайн курси мають низку переваг перед офлайн форматом:

  1. Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
  2. Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
  3. Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
  4. Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
Яка вартість навчання?

На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.

Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.

Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.

Скільки часу знадобиться, щоб опанувати програмування?

Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:

  • новачки – від 3 до 6 місяців;
  • ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
  • професійні програмісти – до 1 місяця.

Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.

Скільки часу знадобиться, щоб опанувати ІТ-спеціальність?

Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.

В залежності від того, скільки часу ви готові виділяти на навчання в день, ви зможете пройти програму за 3-8 місяців. Якщо у вас є певна база знань з ІТ, кількість необхідного часу буде меншою.

Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним. 

З якого курсу розпочинати навчання?

Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.

Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.

Ще нижче ви знайдете Roadmap зі спеціальності – путівник, на якому зображені відео курси у вигляді дерева, що також вас легко зорієнтує у послідовності проходження курсів.

Як керувати своїм часом та організувати ефективне онлайн-навчання з тренером?

Якщо ви обираєте Live Online навчання з тренером, все дуже просто:

  • відвідуйте всі заняття, вчасно виконуйте д/з;
  • додатково дивіться відео уроки на ITVDN;
  • після кожного уроку проходьте коротке тестування;
  • практикуйтеся в Інтерактивному практикумі;
  • спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
  • в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
  • в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Чи є у вас допомога з працевлаштуванням після закінчення навчання?

Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.

А для тих, хто навчається онлайн з ментором, у нас додатково передбачена індивідуальна допомога HR-фахівця щодо підготовки до працевлаштування з першого дня навчання і до отримання першого job-оферу. Вона включає в себе допомогу в оформленні соцмереж, підготовці резюме, проведення пробної співбесіди, надання порад щодо пошуку роботи та самопрезентації тощо. 

Чи можливе персональне навчання з тренером ITVDN?

На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.

З якого віку можна навчатися на платформі?

На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.

Чи потрібні знання англійської мови для навчання?Чи потрібні знання англійської мови для навчання?

Ніяких вимог до вашого рівня англійської ми не висуваємо, оскільки всі навчальні матеріали йдуть російською або українською мовами. При цьому базові знання англійської будуть корисні для комфортного пошуку інформації в гуглі, читання документацій в інтернеті тощо.

Якого рівня можна досягти, пройшовши навчання зі спеціальності?

На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.

Коли закінчиться підписка, що далі? Доступу до уроків не буде?

Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.

Чи додаються знижки на придбання підписки?

Ні, знижки не додаються.

Notification success