Concorrência em Rust: Assincronia, Threads e Paralelismo
300 páginas
Portuguese
PDF
4.5

Concorrência em Rust: Assincronia, Threads e Paralelismo

Concorrência em Rust: Assincronia, Threads e Paralelismo

Autor:

Ano:

Resumo:

O livro "Concorrência em Rust" é um guia abrangente dedicado a um dos tópicos mais poderosos e complexos do ecossistema Rust. Rust é famoso por sua capacidade de prevenir condições de corrida e outros erros de multithreading em tempo de compilação, mas para aproveitar ao máximo esses recursos, é necessário um profundo entendimento dos conceitos de concorrência.



Este livro o guiará desde os fundamentos até as técnicas avançadas. Você começará com a teoria: o que é concorrência e paralelismo, qual a diferença entre eles e por que Rust é tão adequado para eles como nenhuma outra linguagem. Em seguida, passará para exemplos práticos, escritos na versão atual do Rust (2024).



  • Fundamentos de multithreading: criação e gerenciamento de threads, transferência de propriedade entre threads, uso de std::thread.
  • Compartilhamento seguro de dados: mutexes (Mutex), bloqueios de leitura-escrita (RwLock), operações atômicas e contadores de referência Arc.
  • Canais e passagem de mensagens: modelo CSP usando std::sync::mpsc e a crate crossbeam.
  • Programação assíncrona: mergulho profundo em async/await, tasks, Future, select! e runtimes populares (tokio, async-std).
  • Padrões avançados: pools de threads, iteradores paralelos (rayon), estruturas de dados lock-free e atores.
  • Perfilamento e depuração: ferramentas para encontrar gargalos, detectores de corrida (ThreadSanitizer) e escrita de testes para código concorrente.


Para quem é este livro?

  • Desenvolvedores Rust que desejam migrar de código sequencial para multithread.
  • Programadores familiarizados com outras linguagens (C++, Go, Java) que desejam entender como o Rust resolve problemas de concorrência.
  • Engenheiros que trabalham com sistemas de alta carga, servidores web, aplicações de rede ou jogos.


O que você aprenderá:

  • Como evitar deadlocks, livelocks e condições de corrida.
  • Quando usar threads e quando usar assincronia.
  • Como projetar corretamente a arquitetura de aplicações concorrentes.
  • Como escrever código que escala em processadores multi-core.


Todos os exemplos de código estão disponíveis no repositório e são fornecidos com comentários detalhados. O livro é adequado tanto para iniciantes que já conhecem os fundamentos do Rust quanto para desenvolvedores experientes que desejam sistematizar seus conhecimentos.



Mergulhe no mundo da programação concorrente em Rust e aprenda a criar aplicações rápidas, confiáveis e seguras!

Recommendations