Concorrência em Java: dos fundamentos às aplicações multithread
Concorrência em Java: dos fundamentos às aplicações multithread
Resumo:
As aplicações modernas precisam funcionar de forma rápida e eficiente, e para isso é necessário saber usar corretamente os recursos do processador. O livro «Concorrência em Java: dos fundamentos às aplicações multithread» é um guia prático que o ajudará a dominar um dos tópicos mais complexos, mas importantes, no desenvolvimento Java.
O autor, Alexei Smirnov, desenvolvedor sênior com 10 anos de experiência, conduz o leitor de forma sequencial desde os conceitos básicos até as técnicas avançadas. Você aprenderá não apenas a escrever código multithread, mas a torná-lo seguro, previsível e eficiente.
O que você aprenderá com o livro:
- Fundamentos de threads: criação, gerenciamento do ciclo de vida, prioridades e daemons.
- Sincronização: a palavra-chave
synchronized, locks, monitores e problemas de condições de corrida. - Pool de threads e ExecutorService: como gerenciar tarefas de forma eficiente, evitando vazamentos de recursos.
- Programação assíncrona:
CompletableFuture,Future,Callablee trabalho com chamadas assíncronas. - Coleções para acesso concorrente:
ConcurrentHashMap,CopyOnWriteArrayList, filas e semáforos. - Padrões de multithreading: Producer-Consumer, Thread Pool, Lazy Initialization e outros.
- Testes e depuração: como escrever testes para código multithread, encontrar deadlock e race condition.
- Desempenho: profiling, configuração da JVM, otimização de locks.
Para quem é este livro:
- Desenvolvedores Java que desejam aprofundar seus conhecimentos em multithreading.
- Programadores migrando para Java de outras linguagens (C#, Python, C++).
- Estudantes e desenvolvedores juniores que desejam aprender programação concorrente do zero.
- Engenheiros seniores que precisam de um guia de referência para técnicas avançadas e otimização.
O livro contém muitos exemplos de código que podem ser executados e adaptados imediatamente para seus próprios projetos. Todos os exemplos foram escritos para Java 17 e versões superiores, mas a maioria das técnicas também se aplica a versões mais antigas.
Após a leitura, você será capaz de projetar com confiança sistemas de alta carga, evitar erros comuns e escrever código que funcione corretamente em ambientes multithread. Isso não é apenas teoria — é uma ferramenta para o trabalho real.
Recomendado tanto para estudo autodidata quanto como guia de referência para o desenvolvimento diário.