О курсе
Курс состоит из четырёх модулей, охватывающих многопоточность в 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-собеседования.