Vamos colocar em prática...

Até o momento, exploramos os conceitos fundamentais para compreender concorrência. Esses tópicos incluem:

  • O que é um programa a nível de SO: como os programas interagem com o SO

  • Propriedades de um processo: estrutura, estado e formas de comunicação entre processos

  • Escalonamento preemptivo de tarefas: como o SO gerencia a execução e troca de tarefas

  • Clone de processos (forking): como novos processos são criados

  • Clone de processos leves (threading): diferenças entre criação de processos e threads

  • Uma nota sobre paralelismo: concorrência não é paralelismo

  • Desafios em cenário de concorrência: problemas comuns como condições de corrida e data races

  • I/O síncrono e assíncrono: como estas operações afetam o desempenho e design de sistemas concorrentes

Com isto tudo que foi passado, temos já o conhecimento necessário para entrarmos na segunda parte deste guia, trazendo exemplos práticos que implementam concorrência em diversas linguagens.

Não se preocupe, irei trazer exemplos auto-contidos e didáticos de forma que não será necessário entender todas as linguagens de forma profunda.

Last updated