О курсе

Курс состоит из четырёх модулей, охватывающих многопоточность в Java от основ до production-сценариев. В первом модуле рассматриваются потоки и процессы, Threads API, планировщик ОС, daemon-потоки, а также базовые средства синхронизации — synchronized и volatile. Второй модуль посвящён Java Memory Model, reordering, межпоточной сигнализации через wait/notify, примитивам ReentrantLock, Semaphore, ReadWriteLock, CountDownLatch, атомикам и CAS, а также проблемам deadlock и livelock и работе с ThreadLocal. В третьем модуле разбираются ExecutorService и разновидности ThreadPoolExecutor, ForkJoinPool, parallel streams, CompletableFuture, потокобезопасные коллекции и Virtual Threads. Четвёртый модуль представляет собой production-кейс: сравнение модели thread-per-request в Tomcat с event-loop и WebFlux, подключение виртуальных потоков в Spring Boot, анализ узких мест с rate-limiters и HikariCP, а также финальный проект — очередь задач с асинхронным раннером и тремя внешними API. В курс включены четыре практические домашние задания и бонусные материалы: чек-лист «20 ошибок в многопоточности» и видео-разбор вопросов на собеседованиях.

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

  • работа с Threads API: создание, запуск, ожидание, прерывание и остановка потоков
  • понимание Java Memory Model, happens-before и reordering
  • использование примитивов синхронизации: synchronized, volatile, ReentrantLock, Semaphore, ReadWriteLock, CountDownLatch
  • применение атомиков и CAS, включая разбор проблемы ABA
  • работа с ExecutorService, ThreadPoolExecutor, ForkJoinPool и parallel streams
  • построение асинхронных цепочек на CompletableFuture с обработкой ошибок и таймаутов
  • использование потокобезопасных коллекций: ConcurrentHashMap, CopyOnWriteArrayList, ArrayBlockingQueue, LinkedBlockingQueue
  • создание и применение Virtual Threads, включая подключение в Spring Boot

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

  • Java-разработчикам, знакомым с базой языка и Spring и желающим разобраться в многопоточности
  • Junior/Middle Java-разработчикам, которые пишут REST API и работают с базами данных, но хотят освоить конкурентное программирование
  • Разработчикам, интересующимся продвинутыми средствами многопоточности: пулами потоков, CompletableFuture и Virtual Threads
  • Тем, кто готовится к техническим собеседованиям по Java и хочет повторить типовые вопросы по многопоточности

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

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

Программа состоит из четырёх модулей: основы потоков и синхронизации, Java Memory Model и примитивы синхронизации, продвинутые средства (ExecutorService, CompletableFuture, конкурентные коллекции, Virtual Threads) и production-кейс с очередью задач и внешними API.

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

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

Какие бонусные материалы включены в курс?

В курс включены чек-лист «20 ошибок в многопоточности» с разбором типичных ошибок и видео-разбор топовых вопросов на собеседованиях.

Кто автор курса?

Автор — Павел Сорокин (S0R0KlN), Java backend-разработчик и контент-мейкер, ведущий YouTube- и Telegram-каналы об IT. Он специализируется на Java-разработке, микросервисах и проводит mock-собеседования.