Pular para conteúdo

Exercícios: Aula 13 - Concorrência Segura 🧵

🟢 Básico

  1. Spawn de Thread: Crie um programa que faça o spawn de uma thread que imprima números de 1 a 5, enquanto a thread principal imprime de 6 a 10. Use o método join para garantir que ambas terminem antes do programa fechar.
  2. MPSC: Qual o significado da sigla mpsc e por que ela é importante para a segurança de memória no Rust?

🟡 Intermediário

  1. Comunicação via Canais: Crie um programa onde uma thread secundária calcula o fatorial de um número e envia o resultado para a thread principal através de um canal (channel).
  2. Estado Compartilhado: Use Arc e Mutex para incrementar um contador compartilhado entre 10 threads diferentes. Imprima o valor final no main.

🔴 Desafio

  1. Simulador de Corridas: Crie um programa onde 3 threads "correm" (cada uma imprime seu progresso em intervalos de tempo aleatórios usando thread::sleep). Use um canal para avisar a thread principal quando cada thread cruzar a linha de chegada. A thread principal deve anunciar o 1º, 2º e 3º lugares.