О курсе

Курс состоит из четырёх модулей. В первом разбираются основы: различия между процессами и потоками, Thread API, планировщик ОС, daemon-потоки, а также введение в синхронизацию (race condition, synchronized, volatile). Второй модуль углубляется в Java Memory Model, reordering, межпоточную сигнализацию (wait/notify), ReentrantLock, Semaphore, ReadWriteLock, CountDownLatch, атомарные переменные и CAS, проблемы deadlock и livelock, ThreadLocal. Практика включает создание собственной блокирующей очереди.

Что рассматривается в программе

  • Рассматривается создание и управление потоками через Thread API, включая запуск, ожидание, прерывание и наблюдение за состоянием.
  • Разбирается работа планировщика ОС, очереди Ready/Waiting/Blocked и недетерминизм порядка выполнения.
  • Изучается базовая синхронизация: race condition, mutex, synchronized, volatile.
  • Осваиваются продвинутые примитивы: ReentrantLock, Condition, Semaphore, ReadWriteLock, CountDownLatch.
  • Рассматриваются атомарные переменные и CAS, включая ABA-проблему и её решения.
  • Разбираются deadlock и livelock, методы их обнаружения и предотвращения.
  • Изучается ThreadLocal, его внутреннее устройство и избегание утечек в пулах потоков.
  • Практикуется реализация собственной ArrayBlockingQueue на synchronized + wait/notify.

Кому может быть полезен курс

  • Новичкам, знакомым с основами Java и Spring и желающим разобраться в многопоточности.
  • Junior/Middle Java-разработчикам, которые пишут REST API и работают с базами данных, но многопоточность остаётся для них сложной темой.
  • Разработчикам, которые хотят углубить технические навыки (hard skills) и подготовиться к собеседованиям на middle+.

Вопросы о программе

Какие темы охватывает программа курса?

Программа включает четыре модуля: основы потоков и синхронизации, Java Memory Model и продвинутые примитивы, ExecutorService и CompletableFuture, конкурентные коллекции и виртуальные потоки, а также production-кейс с обработкой очереди задач.

Предусмотрены ли практические задания?

Да, в тариф «Стандарт» входят четыре практические домашние работы — от простых до production-кейса, а также реализация проекта для портфолио: обработчик очереди задач.

Что входит в тариф «Стандарт»?

Тариф «Стандарт» включает 4 модуля курса (15 часов видео), 4 практические домашние задания, реальный проект для портфолио и чек-лист «20 ошибок в многопоточности».

Кому адресован курс?

Курс ориентирован на новичков с базовыми знаниями Java и Spring, а также на Junior/Middle Java-разработчиков, желающих освоить многопоточность и подготовиться к собеседованиям на middle+.