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

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 синхронізатори і підведемо підсумки.