Prefácio
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Por que escrevi este livro
Há muito tempo, a simultaneidade é um dos aspectos mais desafiadores do desenvolvimento em Java. Ele evoluiu de forma consistente para atender às demandas do desenvolvimento de software moderno, mantendo um forte compromisso com a compatibilidade com versões anteriores. Entre todos os avanços que o Java introduziu ao longo dos anos, a introdução de threads virtuais do Project Loom marca uma mudança fundamental no mundo da simultaneidade.
A simultaneidade é inerentemente desafiadora, e essa dificuldade só aumentou com o aumento das demandas de desempenho. Mesmo para desenvolvedores experientes, gerenciá-la com eficiência continua sendo uma tarefa complexa. Hoje, os aplicativos modernos são orientados principalmente por E/S, pois interagem com vários outros sistemas, especialmente na arquitetura de microsserviços que domina o desenvolvimento recente de software para atender às crescentes demandas de escalabilidade.
As operações de E/S geralmente levam um tempo significativo. Quando uma thread faz uma chamada de E/S, ela normalmente precisa esperar a conclusão da operação, o que tem sido a abordagem tradicional. Embora os sistemas operacionais modernos possam gerenciar milhões de soquetes abertos, o número de threads disponíveis permanece limitado. Como resultado, atender à crescente demanda por maior rendimento com threads tradicionais ...