Конкурентность в Java: Практическое руководство по многопоточному программированию
От основ Thread до CompletableFuture и виртуальных потоков
Краткое содержимое:
Книга «Конкурентность в Java» — это полноценное практическое руководство по написанию эффективных, безопасных и масштабируемых многопоточных приложений на Java. Автор, Алексей Смирнов, senior-разработчик с 10-летним опытом, последовательно проводит читателя от классических подходов (Thread, Runnable) до современных инструментов (CompletableFuture, виртуальные потоки Project Loom).
Материал построен по принципу «от простого к сложному»: каждая глава содержит теорию, примеры кода, типичные ошибки и их решения. Особое внимание уделено практическим аспектам: вы научитесь не только писать многопоточный код, но и отлаживать его, профилировать и избегать «адских» проблем вроде deadlock, livelock и race condition.
Для кого эта книга?
- Java-разработчики уровня Junior — освоят базу: создание потоков, синхронизацию, wait/notify.
- Middle разработчики — углубят знания: пулы потоков, Fork/Join, параллельные Stream API.
- Все, кто переходит с Java 8 на более новые версии (11, 17, 21+) — разберутся с CompletableFuture и виртуальными потоками.
Что вы узнаете?
- Как работают потоки в JVM и операционной системе.
- Правила синхронизации: synchronized, Lock, Semaphore, CountDownLatch.
- Безопасные коллекции из java.util.concurrent.
- ExecutorService и кастомные пулы потоков.
- Асинхронное программирование с CompletableFuture.
- Новейший механизм виртуальных потоков (Project Loom) — как и когда применять.
- Тестирование многопоточного кода с JUnit и jcstress.
Книга написана живым языком, без излишней академичности. Каждый пример можно сразу запустить и модифицировать. В конце глав — вопросы для самопроверки и практические задания.
Это настольная книга для любого Java-разработчика, который хочет писать быстрые, надёжные и масштабируемые приложения. Независимо от того, создаёте ли вы высоконагруженный сервер, десктопное приложение или обрабатываете Big Data, знание конкурентности — обязательный навык.
После прочтения вы сможете уверенно проектировать многопоточные системы, избегать типовых ловушек и эффективно использовать все ядра процессора.