Concorrência em Rust: dos fundamentos aos sistemas de alta carga
Concorrência em Rust: dos fundamentos aos sistemas de alta carga
Resumo:
O livro «Concorrência em Rust» é um guia abrangente para escrever código paralelo seguro, eficiente e escalável na linguagem Rust. Ao contrário de muitas outras linguagens, onde a concorrência frequentemente leva a bugs difíceis de detectar e condições de corrida, o Rust oferece um sistema único de posse e tipos que garante segurança em tempo de compilação. Este livro mostrará como usar esses recursos ao máximo.
Sobre o que é este livro?
O livro aborda todos os aspectos-chave da programação concorrente em Rust:
- Fundamentos de threads: criação, gerenciamento e sincronização de threads com
std::thread. - Dados compartilhados e sincronização: trabalho com tipos
Mutex,RwLock,ArceAtomicpara compartilhamento seguro de estado entre threads. - Canais e passagem de mensagens: uso de
std::sync::mpscecrossbeampara organizar a troca de dados entre threads sem compartilhamento de memória. - Programação assíncrona: imersão profunda no modelo
async/await, futures e executores (executors). - Bibliotecas populares: exemplos práticos de trabalho com
Tokio,async-stdeRayonpara construir aplicações de alto desempenho. - Tópicos avançados: criação de drivers assíncronos próprios, trabalho com
PineUnpin, além de padrões de tolerância a falhas.
Para quem é este livro?
O livro é destinado a:
- Desenvolvedores já familiarizados com os fundamentos do Rust que desejam avançar para a escrita de aplicações multithread e assíncronas.
- Programadores de outras linguagens (C++, Go, Python) que desejam dominar o modelo seguro de concorrência em Rust.
- Engenheiros que trabalham com sistemas de alta carga, servidores web, aplicações de rede ou ferramentas de processamento de dados em tempo real.
O que você aprenderá?
Ao ler este livro, você será capaz de:
- Entender a diferença entre threads e tarefas assíncronas e escolher a ferramenta certa para cada tarefa.
- Escrever código livre de condições de corrida e deadlocks, usando as garantias do compilador Rust.
- Usar eficientemente
async/awaitpara criar milhares de conexões simultâneas sem sobrecarga significativa. - Projetar arquiteturas baseadas em atores, canais e pools de threads.
- Perfilhar e otimizar aplicações concorrentes para alcançar o máximo desempenho.
Cada capítulo contém exemplos práticos de código que podem ser executados e modificados imediatamente. O livro é escrito em linguagem viva e focado em problemas reais enfrentados por desenvolvedores. Após a leitura, você se sentirá confiante no mundo da programação concorrente em Rust e será capaz de construir sistemas confiáveis, rápidos e seguros.