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

Заказать звонок

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

Подписка

Заказать звонок

+38 099 757 27 82

Асинхронное программирование в Java

О курсе

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

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 мин
48.00 $
59.99 $
Оформить подписку
Акция
Базовый
  • Все видеокурсы на 6 месяцев
  • Тестирование по 16 курсам
  • Проверка 10 домашних заданий
  • Консультация с тренером 60 мин
54.00 $
89.99 $
Оформить подписку
Акция
Премиум
  • Все видеокурсы на 1 год
  • Тестирование по 24 курсам
  • Проверка 20 домашних заданий
  • Консультация с тренером 120 мин
85.00 $
169.99 $
Оформить подписку
Акция
комментарии и обсуждения
Notification success
Мы используем cookie-файлы, чтобы сделать взаимодействие с нашими веб-сайтами и услугами простым и значимым.