Курс · карта «Java»

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

Потоки и synchronized, Java Memory Model и volatile, атомарные операции, явные блокировки, пулы потоков и CompletableFuture, координация и виртуальные потоки.

11уроков
≈ 1 чна чтение
Junior–Middleуровень

Уроки

11
  1. 01Потоки: создание, состояния и отмена

    Thread и Runnable, стоимость платформенных потоков, состояния жизненного цикла, кооперативное прерывание и daemon-потоки.

    3 мин
  2. 02synchronized, мониторы и wait/notify

    Взаимное исключение и видимость через монитор, reentrancy, guarded blocks с wait/notify и причины deadlock.

    2 мин
  3. 03Java Memory Model: happens-before и volatile

    Зачем нужна модель памяти, видимость и переупорядочивание, отношение happens-before, семантика volatile и final, гонки данных.

    2 мин
  4. 04volatile, атомарность и CAS

    Разница видимости и атомарности, atomic-классы, compare-and-swap и ABA, контеншн и LongAdder.

    2 мин
  5. 05Явные блокировки: ReentrantLock, RW и Condition

    Когда synchronized мало, ReentrantLock с tryLock/fairness, ReadWriteLock и StampedLock, Condition вместо wait/notify.

    1 мин
  6. 06Пулы потоков и ExecutorService

    Зачем пул, параметры ThreadPoolExecutor, ловушки фабрик Executors, выбор размера и корректное завершение.

    2 мин
  7. 07Future и CompletableFuture

    Ограничения Future, асинхронная композиция CompletableFuture, async-варианты с пулами и обработка ошибок.

    2 мин
  8. 08Координация: семафоры, защёлки и барьеры

    Semaphore, CountDownLatch, CyclicBarrier, Phaser и Exchanger — что каждый делает и когда выбирать.

    2 мин
  9. 09ThreadLocal и Fork/Join

    Состояние на поток и утечки в пулах, InheritableThreadLocal, work-stealing в ForkJoinPool и общий пул parallel streams.

    2 мин
  10. 10Конкурентные коллекции

    ConcurrentHashMap без сегментов (CAS + блокировка бакета), запрет null, CopyOnWriteArrayList и BlockingQueue.

    2 мин
  11. 11Виртуальные потоки (Project Loom)

    Лёгкие потоки JVM, монтирование на carrier, когда их применять, почему не пулят и проблема pinning.

    2 мин
Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования