Потокобезпечні колекції. Producer-Consumer Pattern. Клас Parallel
ITVDN: курси програмування
Відеокурси з
програмування

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

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

Підписка

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

+38 099 757 27 82

×

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

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

ВІДЕОУРОК № 8. Потокобезпечні колекції. Producer-Consumer Pattern. Клас Parallel

Для перегляду повної версії відеокурсу, онлайн тестування та отримання доступу до додаткових навчальних матеріалів придбайте курс Придбати курс
Для перегляду всіх відеокурсів 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, які у нього оператори, а також як їх можна налаштовувати. Також, не обійдемо стороною скасування виконання паралельного запиту та опрацювання винятків, що виникли в ньому.

Читати далі...
ПОКАЗАТИ ВСЕ
Студенти також дивляться
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 $
Придбати
Базовий
  • Усі відеокурси на 6 місяців
  • Тестування з 16 курсів
  • Перевірка 10 домашніх завдань
  • Консультація з тренером 60 хв
89.99 $
Придбати
Преміум
  • Усі відеокурси на 12 місяців
  • Тестування з 24 курсів
  • Перевірка 20 домашніх завдань
  • Консультація з тренером 120 хв
169.99 $
Придбати
коментарі та обговорення
Notification success