Page cover
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Introdução

Já faz algum tempo que estou querendo escrever sobre concorrência, mas minha procrastinação minha rotina não deixou. E também porque estive ocupado o primeiro semestre de 2024 criando uma saga de artigos sobre Assembly x86.

Também não sei porque

Enfim, concorrência (plus paralelismo) é um assunto que gosto de explorar e conversar sobre, portanto chegou a hora de compartilhar um pouco da visão que tenho com relação a este tema.

Vá com moderação, não espere um guia acadêmico, formalidade e nem um tutorial rápido. O que pretendo aqui é trazer fundamentos de concorrência de forma acessível e didática, buscando lá na superfície do sistema operacional como isto funciona, tanto a nível de CPU, memória e I/O; e também como diferentes linguagens (leia-se runtimes) implementam concorrência.

E claro, não posso escrever um guia sobre concorrência sem começar com o famoso clichê: concorrência não é paralelismo.

Pra não mencionar o assincronismo, que também vamos abordar ao longo deste guia

Se você sempre se deparou com explicações confusas, apresentadas de forma inacessível, ou então carregadas de jargões e até mesmo analogias que mais atrapalham que ajudam - calma gente, eu gosto de analogias, mas boas analogias -, então este guia é pra você.

Last updated