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