Capítulo 1. Introdução
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
A simultaneidade consiste em lidar com muitas coisas ao mesmo tempo. O paralelismo consiste em fazer muitas coisas ao mesmo tempo.
Rob Pike
Para realmente apreciar algo, é fundamental saber como ele surgiu, especialmente se pudermos discernir as etapas percorridas e os desafios superados ao longo do caminho. Essa compreensão não apenas destaca o progresso contínuo, mas também nos ajuda a entender sua relevância. Da mesma forma, a concorrência em Java percorreu um longo caminho desde seu início. Levou muito tempo para evoluir até seu estado atual. Mas se você quiser entender os avanços recentes, como threads virtuais e simultaneidade estruturada no Java moderno, primeiro precisa se aprofundar em sua evolução. Neste capítulo, daremos a você uma visão inicial da simultaneidade do Java e, em seguida, discutiremos brevemente como ela se desenvolveu ao longo do tempo.
Uma breve história dos threads em Java
O Java foi projetado com a simultaneidade em mente; foi uma das primeiras linguagens a oferecer suporte integrado a multithreading. Com o passar dos anos, os recursos de simultaneidade do Java foram aprimorados e refinados, deixando para trás alguns buracos e lições ao longo do caminho.
A simultaneidade do Java começou com a sincronização básica e o gerenciamento de threads. Depois veio a introdução do pacote java.util.concurrent no Java ...