Скрыть объявление
Гость

Вы находитесь в разделе
+ Курсы по программированию
Рекомендуем посмотреть
Топ курсов данного раздела
Рекомендуем обратить внимание на
ТОПы КУРСОВ подразделов данного раздела
по мобильной разработке
по Frontend
по Backend
по разработке компьютерных игр
по этичному хакингу
по разработке ПО
по верстке сайтов
по Python
по Javascript (JS)
по Java
по PHP
по Swift
по C#
по Unity
по 1C
по SQL

ДОСТУПНО [Павел Сорокин] Многопоточность в Java (2025)

Тема в разделе "Курсы по Java", создана пользователем admin, 29 мар 2026.

  1. admin

    admin Команда форума Admin

    Регистрация:
    10 мар 2019
    Сообщения:
    24.825
    Деньги:
    3.156 руб.
    Автор: [Павел Сорокин]
    Название: Многопоточность в Java (2025)

    upload_2026-3-29_19-45-55.png

    Программа:

    Модуль 1. Открываем капот: потоки, процессы, Threads API, JVM, Daemon, Synchronized, Volatile
    • Зачем нужна многопоточность: где однопоточность «держит» систему; эффект очередей и блокирующих операций
    • Поток как единица исполнения в общей памяти процесса: общий heap, stack у каждого потока
    • Program → Process → Thread: от запуска программы до выполнения кода в потоке
    • Планировщик ОС: очереди Ready/Waiting/Blocked; RUNNABLE ≠ RUNNING; стоимость переключений контекста; недетерминизм порядка
    • Базовый Thread API: Thread/Runnable; start vs run; join; sleep (TIMED_WAITING); interrupt и восстановление флага; наблюдение состояний (getState)
    • Daemon vs User: определение, назначение, условия завершения JVM, риски использования демонов для бизнес‑логики
    • Введение в синхронизацию: race condition; mutex/критическая секция; synchronized; volatile;
    Результат:
    • Поймёшь, как устроены процессы и потоки в JVM и ОС, где у них общая и изолированная память
    • Сможешь уверенно создавать и управлять потоками: запуск, ожидание, усыпление, корректная остановка.
    • Научишься объяснять работу планировщика, очереди Ready/Waiting/Blocked и почему порядок выполнения непредсказуем
    • Будешь различать user‑ и daemon‑потоки и поймёшь, когда и почему JVM завершает работу.
    • Освоишь базу синхронизации: зачем нужен mutex, когда использовать synchronized, а когда volatile (видимость)
    Модуль 2. Укрощаем хаос: JMM, Reordering, ReentrantLock, Semaphore, Deadlock, Livelock
    • Java Memory Model (JMM): program order, happens‑before, основные HB‑рёбра (unlock→lock, volatile write→read, start/join).
    • Reordering: где возможен (компилятор/JIT/CPU) и почему без HB порядок не гарантирован; volatile — видимость/порядок, но не атомарность
    • Межпоточная сигнализация: монитор, очереди EntryList/WaitList, wait/notify/notifyAll, spurious wakeups и правило while; тайм‑ауты ожидания.
    • ReentrantLock и Condition: re‑entry, lockInterruptibly (), tryLock (timeout), await/signal, несколько условий ожидания.
    • Semaphore: permits, ограничение параллелизма, fair/non‑fair режимы.
    • ReadWriteLock: совместимость читателей, эксклюзивный писатель, отсутствие безопасного апгрейда read→write, starvation и fair‑режим.
    • CountDownLatch: одноразовый барьер N→0, await (timeout), сценарии start‑gate/completion‑gate.
    • Атомики и CAS: Atomic*, CAS‑цикл, конфликты и спины, ABA и AtomicStampedReference.
    • Deadlock: как обнаружить, условия Коффмана, «обедающие философы», порядок локов, tryLock (timeout) + откат.
    • Livelock: «уступчивые» симметричные протоколы, разрыв симметрии (backoff/приоритет).
    • ThreadLocal: внутренняя модель (ThreadLocalMap), кейсы применения, утечки в пулах и best‑practices
    • Практика: собственная ArrayBlockingQueue на synchronized + wait/notify, продюсеры/консюмеры, проверка корректности.
    Результат:
    • Узнаешь, как Java гарантирует видимость и порядок между потоками (Java Memory Model, happens‑before, reordering).
    • Получишь набор практических приёмов межпоточной сигнализации (wait/notify/notifyAll) и научится избегать типовых багов (потерянные сигналы, ложные пробуждения).
    • Сможешь осознанно выбирать примитив синхронизации (ReentrantLock/Condition, Semaphore, ReadWriteLock, CountDownLatch) под задачу и использовать тайм‑ауты/прерывание для выхода из вечного ожидания.
    • Научишься применять атомики и CAS, объяснять ABA‑проблему и её фиксы.
    • Сможешь воспроизводить и устранять deadlock и livelock (включая «уступчивый» сценарий), работать с ThreadLocal без утечек и реализовать безопасную блокирующую очередь
    Модуль 3. Продвинутые средства: ExecutorService, CompletableFuture, Concurrent Collections, Virtual Threads
    • I/O-bound vs CPU-bound: задачи, ограниченные скоростью операций ввода-вывода, и задачи, ограниченные вычислительными ресурсами; определения, метрики и стратегия выбора пула потоков.
    • ExecutorService и разновидности ThreadPoolExecutor: FixedThreadPool, CachedThreadPool, ScheduledThreadPool и SingleThreadExecutor; работа очереди задач, рабочих потоков и механизмы завершения пула.
    • ForkJoinPool: модель work-stealing (распределения задач с кражей работы), использование классов RecursiveTask и RecursiveAction; общий ForkJoinPool для параллельных потоков (parallel streams) и пул по умолчанию для CompletableFuture.
    • Parallel Streams: когда применение оправдано, влияние числа доступных процессорных ядер (Runtime.getRuntime ().availableProcessors ()), и почему такие потоки не подходят для сценариев с интенсивным вводом-выводом.
    • Асинхронная модель: интерфейсы Runnable, Callable и Future; жизненный цикл Future; использование CompletableFuture, основные операторы, обработка ошибок и таймауты.
    • Потокобезопасные коллекции: ConcurrentHashMap, CopyOnWriteArrayList, ArrayBlockingQueue и LinkedBlockingQueue (массив против связного ccc, примеры проблем при использовании обычных HashMap и ArrayList в многопоточности.
    • Virtual Threads: создание через Thread.ofVirtual ().start () и Executors.newVirtualThreadPerTaskExecutor (); как JVM сопоставляет виртуальных и системных потоков (N к M), механизмы монтирования и размонтирования, сравнение с потоками операционной системы и ограничения в java-21
    Результат:
    • Поймёшь разницу между IO‑bound и CPU‑bound задачами и научишься выбирать модель выполнения под профиль нагрузки (ThreadPoolExecutor vs ForkJoinPool vs Virtual Threads)
    • Сможешь безопасно работать с пулами потоков: конфигурация, отправка задач, корректное завершение (shutdown/awaitTermination), анти‑паттерны ожидания на get/join без нужды
    • Освоит Runnable/Callable/Future и построение неблокирующих цепочек на CompletableFuture (thenApply/thenCompose/thenCombine/allOf/anyOf, обработка ошибок exceptionally/handle)
    • Разберёшь устройство и гарантии популярных конкурентных коллекций (ConcurrentHashMap, CopyOnWriteArrayList, ArrayBlockingQueue, LinkedBlockingQueue) и применишь их вместо небезопасных аналогов под конкуренцией.
    • Поймёшь, как устроены Virtual Threads (Loom): mapping на carrier‑потоки, mount/unmount стека, где они выигрывают, а где нет; увидит практические ограничения (thread pinning, тяжёлые ThreadLocal).
    • Сможешь сравнить выполнение на обычных пулах и на VT на типичных I/O‑сценариях (десятки тысяч задач) и сделать обоснованный выбор
    Модуль 4. Боевое крещение: реальный production-case проект
    • Thread-per-Request в Tomcat — классическая модель, где каждому запросу выделяется поток. Покажем, где у неё пределы и как это влияет на масштабирование
    • Event-loop и WebFlux / Netty — неблокирующая архитектура, где один поток обслуживает тысячи соединений.
    • Virtual Threads (Java 21+) — новая эпоха Java-параллелизма. Подключим виртуальные потоки в Spring Boot и покажем, как убрать боль реактивщины без потери производительности
    • I/O-bound и CPU-bound, закон Амдала — объясняем, почему многопоточность не всегда ускоряет, и как найти оптимальный баланс
    • Rate-limiters и HikariCP — где рождаются «бутылочные горлышки» в реальных прод-сервисах и как их диагностировать и предотвратить
    • План деградации и изоляция ресурсов — как защитить систему, если одно из API начинает тормозить
    • Финальный прод-кейс — очередь задач, асинхронный раннер, три внешних API (Stock, Pricing, Shipping), статусы NEW → IN PROGRESS → DONE/FAILED. Реальный сценарий с архитектурой, близкой к продакшену.
    Результат:
    • Поймёшь, как Spring Boot и Tomcat обрабатывают параллельные запросы (модель thread-per-request)
    • Увидишь воочию контраст с event-loop/WebFlux
    • Разберёшься в типовых узких местах (очереди, пулы, лимиты) и применишь эти знания в практике
    • Реализуешь production-like асинхронный обработчик заказов с ретраями и агрегацией результатов
    • На выходе будешь уметь диагностировать bottleneck, проектировать очередь задач и использовать виртуальные потоки там, где они дают выигрыш
    Бонусы курса:

    Чек‑лист «20 ошибок в многопоточности»
    • PDF с разбором типичных ошибок, которые встречаются даже у опытных разработчиков.
      • Ошибка: использование HashMap в многопоточности
        Решение: ConcurrentHashMap
      • Ошибка: блокировка под synchronized на длинные операции
        Решение: выносить блокировку на минимум
      • Ошибка: забыли про volatile при доступе из разных потоков
        Решение: понимание visibility
    • И ещё 17 реальных примеров с объяснением, как чинить
    • Используй как шпаргалку для код‑ревью. Особенно полезно перед собеседованиями — многие задачи ровно про это.
    Видео — топ‑10 вопросов на собесе
    • Формат: «Как отвечать на вопросы про потоки, чтобы звучать как увереный middle+».
      • Реальные вопросы с собесов
      • Как объяснять сложные темы простым языком
      • Какие примеры приводить, чтобы выглядеть убедительно
      • Как вести себя, если не знаешь ответа (спойлер: это нормально)
      • Разбор типичных «ловушек» в вопросах интервьюеров
    • Это как репетиция интервью — после просмотра ты будешь звучать уверенно.
    Автор Паша Сорокин (S0R0KlN) — Java backend-разработчик и контент-мейкер, ведущий YouTube-канал и Telegram-канал об IT. Он специализируется на Java-разработке, микросервисах, а также проводит mock-собеседования для помощи в трудоустройстве

    Тариф Стандарт
    • 4 модуля курса (15 часов видео)
    • 4 практические домашки (от простых к продакшн-кейсу)
    • Реальный проект для портфолио — обработчик очереди задач
    • Чек-лист «20 ошибок в многопоточности»
    • Видео-разбор топовых вопросов на собесах
    ИСТОЧНИК
    Скрытый контент.

    Вы не можете просматривать внешние ссылки, что-бы просмотреть зарегистрируйтесь или авторизуйтесь на форуме !





    Цена курса - 90 руб


    [​IMG]

    ОПЛАТИТЬ >>>>>>>>



    Внимание!
    Данная тема может быть заблокирована правообладателем. Заблокировать =>>>

    1 Данные платежа - пишите в комментариях данной этой темы - для получения курса - нужна регистрация на сайте
    2 Нашли дешевле? Сообщите в комментариях - цена приятно удивит Вас!
    3 Вы можете заказать поиск, покупку любого курса =>>> заказать
    4 Посмотреть отзывы =>>>
    5 Последнее обновление: UPD! Цена снижена
     
  2. 1sharew1

    1sharew1 PROверенный

    Регистрация:
    11 мар 2019
    Сообщения:
    7.664
    Деньги:
    0 руб.
    карта №1 в 10-56
     
  3. admin

    admin Команда форума Admin

    Регистрация:
    10 мар 2019
    Сообщения:
    24.825
    Деньги:
    3.156 руб.
     
Загрузка...
Похожие темы - [Павел Сорокин] Многопоточность
  1. admin
    Ответов:
    2
    Просмотров:
    19
  2. admin
    Ответов:
    0
    Просмотров:
    14
  3. admin
    Ответов:
    2
    Просмотров:
    22
  4. admin
    Ответов:
    2
    Просмотров:
    25
  5. admin
    Ответов:
    3
    Просмотров:
    34