Асинхронне програмування в Java
ITVDN: курси програмування
Відеокурси з
програмування

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

Підписка

Про курс

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

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

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

Для розуміння матеріалів даного курсу знадобиться знання мови Java на рівні «Java Поглиблений», базові знання Spring Framework.

Після завершення цього курсу ви навчитеся:

  • Реалізувати у своїх додатках принципи асинхронності та багатопоточності для швидкої та неблокуючої роботи програми.
  • Створювати та запускати потоки.
  • Використовувати ExecutorService та ThreadPool для управління потоками.
  • Використовувати Fork/Join Framework для вирішення проблеми з використанням паралельного підходу «розділяй та володарюй».
  • Працювати із потокобезпечними колекціями.
  • Використовувати Future та CompletableFuture для роботи з асинхронними завданнями.
  • Ловити та обробляти винятки, отримані при виконанні асинхронного коду.
  • Використовувати асинхронність у веб-застосунках на Spring Framework.
  • Керувати виконанням завдань, створюючи користувальницький планувальник завдань.
  • Реалізувати у додатку патерни проектування Producer-Consumer та Scatter-Gather.
Читати далі...

Цей курс входить до спеціальності:

Попередні Вимоги

Java 8 (або вище), базові знання Spring Framework.

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

Ви навчитеся

  • Створювати та запускати потоки.
  • Використовувати ExecutorService та ThreadPool для управління потоками.
  • Використовувати Fork/Join Framework для вирішення проблеми з використанням паралельного підходу «розділяй та володарюй».
  • Працювати із потокобезпечними колекціями.
  • Використовувати Future та CompletableFuture для роботи з асинхронними завданнями.
  • Ловити та обробляти винятки, отримані при виконанні асинхронного коду.
  • Використовувати асинхронність у веб-застосунках на Spring Framework.
  • Керувати виконанням завдань, створюючи користувальницький планувальник задач
  • Реалізувати патерни проектування Producer Consumer та Scatter-Gather.
Читати далі...
Завантажити матеріали курсу Для отримання матеріалів курсу необхідно авторизуватися
Отримати сертифікат Для отримання сертифікату необхідно авторизуватися
  • Тривалість: 4 год 49 хв
  • Курс створено: 14.07.2021
  • Уроків: 10 з
  • Оновлено: 14.07.2021
  • Мова: російська

Що входить до курсу

  • 10 відео уроків
  • Домашні завдання
  • Тестування
  • Сертифікат

×

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

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

Увійдіть або зареєструйтеся для того, щоб продовжити перегляд безкоштовного відео

Після завершення уроку слухач ознайомиться з поняттям багатопотокового програмування, розбере поняття потоків, їх стану, навчиться створювати потоки та використовувати. Також познайомиться з базовими поняттями для роботи з потоками, такими як м'ютекс, монітор та семафор, навчиться використовувати ключове слово synchronized, а також використовувати семафори для одночасного доступу до ресурсів із кількох потоків.

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

Цей урок є введенням в асинхронне програмування мовою Java. На уроці ви ознайомитеся з концепцією асинхронного програмування, дізнаєтесь про різницю між різними концепціями багатопоточного програмування. А також навчитеся створювати та запускати асинхронні задачі.

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

На цьому уроці ви дізнаєтесь, як працювати з групою потоків за допомогою ThreadPool. Ми створимо свою реалізацію пула потоків і розберемо, як відбувається управління життєвим циклом потоків за допомогою ExecutorService. Наприкінці уроку ви дізнаєтеся про такий фреймворк як Fork/Join, навіщо він потрібен і навчитеся його застосовувати на практиці.

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

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

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

На цьому уроці ви детальніше познайомитеся з Future API. Нагадаємо, що ми знаємо про інтерфейс Future. Ви дізнаєтесь про новий клас для роботи з асинхронними завданнями CompletableFuture. Дізнаєтеся в чому різниця між Future та CompletableFuture. Ознайомтеся з деякими інтерфейсами з пакета java.util.function, які активно використовуються в CompletableFuture., а також навчитеся створювати CompletableFuture.

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

На цьому уроці ви детальніше познайомитеся з CompletableFuture. Попрацюємо з методами runAsync і supplyAsync. Розберемо, що таке виняток у асинхронних завданнях і як із ними працювати. Також буде розглянуто обробку винятків за допомогою методів exceptionally та handle.

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

Після завершення уроку слухач ознайомиться з методами thenCombine і thenCompose, які використовуються для комбінування двох незалежних і залежних завдань відповідно. Також ознайомиться з методами allOf і anyOf, які використовуються для об'єднання більш ніж двох завдань. А також побачить, як застосовувати ці методи практично.

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

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

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

Після завершення уроку слухач ознайомиться зі SceduleExecutorService та навчиться створювати відкладені завдання з його допомогою. Також вивчить як використовувати відкладений запуск методів у фреймворку Spring. Навчиться кастомізувати стандартний TaskScheduler, а також детально контролювати реєстрацію завдань через ScheduledTaskRegistrar.

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

Після завершення уроку слухач ознайомиться з такими патернами проектування, як Producer Consumer та Scatter-Gather. Буде розуміти, як працюють різні інструменти, в основі яких лежать дані патерни. Також ознайомиться на практиці з реалізаціями цих патернів та зможе застосовувати їх у проектуванні власних багатопотокових додатків.

Читати далі...
ПОКАЗАТИ ВСЕ
Студенти також дивляться
Java Поглиблений
ДЕТАЛЬНІШЕ
Java Базовий
ДЕТАЛЬНІШЕ
Java Стартовий
ДЕТАЛЬНІШЕ
SOLID принципи в Java
Автор: Андрій Фок
ДЕТАЛЬНІШЕ
Unit тестування в Java з JUnit
ДЕТАЛЬНІШЕ

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

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

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

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