Интенсивный курс · Java

Многопоточность
в Java

Закрываем все темы: от базовых потоков и пулов до lock-free алгоритмов, JMM и Disruptor Framework — с практикой и разбором собеседований.

9 000 ₽
−10% если были на любом из моих курсов
2 занятия × 4 часа + 2 домашние работы и их разбор Первый выпуск
🎯

8 часов практики

Два занятия по 4 часа с живыми примерами и кодом

📝

2 домашних задания

Проверка всех тем + видеоразбор каждой задачи

💬

Собеседования

От базовых до сложных вопросов — разберём всё

⚙️

Реальные инструменты

JMH, JStress, Disruptor, Chronicle Map и другие

01

Основы многопоточного приложения

Правильное проектирование, старт, остановка, прерывание потоков, переиспользование — и да, поток можно остановить.

02

Пул потоков

Пишем пулы с нуля, используем готовые. Фиксированный, ForkJoin, кэшированный и другие. Разбираемся с эффективным количеством потоков.

03

Модель памяти и консистентность

Основы JMM, общая память и проблемы консистентности. Решения через volatile и CAS. Кэш-линии и аннотация @Contended для оптимизаций.

04

Порядок как решение: synchronized и мониторы

Подробный разбор synchronized, waiting set, monitor — откуда это взялось и как работает. Проблема starvation.

05

Локи: Reentrant, ReadWrite, Stamped

Когда и какой лок выбрать. Возможности локов по сравнению с обычным synchronized.

06

Lock-free алгоритмы и CAS

Реализуем вручную и через готовые примитивы: атомарные примитивы, AtomicReference, атомарные коллекции.

07

Многопоточные коллекции

Какие коллекции когда применять и в чём слабости существующих решений.

08

Тестирование: JStress и JMH

Выявляем проблемы и находим баги в многопоточной среде с помощью специализированных фреймворков.

09

Happens-before и гарантии

Теория: что такое happens-before. Order vs Atomicity vs Visibility — чёткая картина потокобезопасного кода.

10

java.util.concurrent

CompletableFuture, Semaphore, CyclicBarrier, Phaser, ThreadLocal, а также ScopedValues из новой Java.

11

Параллельные стримы

Когда parallel streams дают реальный выигрыш, а когда ломают всё. Правильные и неправильные примеры.

12

Потокобезопасный Spring

Применяем знания в Spring — пишем потокобезопасный код, используем возможности фреймворка.

13

Внешние библиотеки

Affinity Lock, Chronicle Map, Disruptor Framework — высокопроизводительная многопоточность на практике.

14

Собеседования по многопоточке

Разбираем вопросы от базовых до сложных — чтобы чувствовать себя уверенно на любом интервью.

Многопоточность — одна из самых сложных тем в Java. Она трудна из-за самой парадигмы, недоступности хорошей информации и её «разбросанности» по разным источникам.

В этом интенсивном курсе вы закроете почти все существующие темы, попрактикуетесь на домашних заданиях и будете гораздо увереннее на собеседованиях.

Курс состоит из двух занятий по 4 часа. Стоимость — 9 000 рублей. Тем, кто был на любом из моих курсов, скидка 10%. Цена намеренно низкая — это первый выпуск курса по многопоточке.

Готовы разобраться с многопоточкой раз и навсегда?

Записаться на курс