> For the complete documentation index, see [llms.txt](https://concorrencia101.leandronsp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://concorrencia101.leandronsp.com/parte-i-concorrencia-no-sistema-operacional/vamos-colocar-em-pratica....md).

# Vamos colocar em prática...

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

* **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.&#x20;
