# Principais desafios em cenário de concorrência

Quando temos um fator externo decidindo quando *alternar* as tarefas/threads, não temos qualquer controle sobre a ordem com que estas threads serão executadas.

Seja por time-slice, por prioridade ou até mesmo espera no I/O, a decisão do escalonador de quando uma thread vai ser executada e em qual ordem, não está sob nosso controle.

<figure><img src="/files/4lnkTkYqIVdLI8tC9xWT" alt=""><figcaption></figcaption></figure>

Na imagem acima podemos ver que, apesar de T1 ter iniciado antes que a T2, só foi concluída depois. No meio do processo - e por algum motivo *que nunca vamos saber qual e nem queremos saber* -, o escalonador decidiu interromper a execução da T1 pra priorizar a T2 até sua conclusão.

> Vai entender, é cada doido nesse mundo...

Então com isso adicionamos uma variável que torna o mundo da concorrência tão desafiador.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://concorrencia101.leandronsp.com/parte-i-concorrencia-no-sistema-operacional/principais-desafios-em-cenario-de-concorrencia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
