"Bem, olá Amigo! Espero que você não tenha nenhum plano grandioso para a noite, porque encontrei uma seleção sensata de materiais sobre multithreading para sua diversão.

Melhor juntos: Java e a classe Thread.

Parte I — Threads de execução . O multithreading foi incorporado ao Java desde o início. Vamos primeiro lembrar de onde vêm os threads e como eles são organizados.

Parte 2 — Sincronização . Este artigo é dedicado aos meios básicos de sincronização entre threads. Exploraremos monitores, bloqueios e sincronização.

Parte 3 — Interação . Uma visão geral dos detalhes de como os threads interagem. Exploraremos os problemas que podem surgir à medida que os threads interagem e falaremos sobre como evitá-los.

Parte 4 — Callable, Future e amigos . Esta parte explicará como trabalhar com cálculos multithread e quais ferramentas relevantes apareceram no Java 1.8. Por que precisamos da interface Future e sua implementação na classe CompletableFuture?

Parte V — Executor, ThreadPool, Fork/Join . Aqui, tentaremos lembrar o Executor, pools de threads e o framework fork/join. Você aprenderá como usar tudo isso e o que mais deve ler.

Parte 6 - Atire! Na parte final, vamos considerar os mecanismos de sincronização disponíveis em Java e resumir."