— Ну здравствуй, Амиго! Надеюсь, у тебя нет грандиозных планов на вечер, потому что я нашел для тебя толковую подборку материалов по теме многопоточности.

Thread'ом Java не испортишь:

Часть I — потоки. Многопоточность в Java была заложена с самых первых дней. Давай для начала вспомним, откуда берутся потоки, как они организованы в принципе.

Часть 2 — синхронизация. Посвящена базовым средствам синхронизации между потоками. Рассмотрим, что такое монитор, лок, синхронизация.

Часть 3 — взаимодействие. Обзор особенностей взаимодействия потоков. Рассмотрим, какие проблемы могут появиться при взаимодействии потоков и поговорим о том, как их можно избежать.

Часть 4 — Callable, Future и друзья. Данная часть расскажет, как работать с вычислениями в потоках и какие средства для этого появились в Java 1.8. Зачем нужен интерфейс Future и его реализация CompletableFuture.

Часть 5 — Executor, ThreadPool, Fork Join. Здесь рассмотрим Executor'ы, пулы потоков и Fork Join Framework. Ты узнаешь, как всем этим пользоваться и что еще дополнительно почитать.

Часть 6 — к барьеру! В завершающей части рассмотрим доступные в Java синхронизаторы и подведем итоги.