Concorrência em C++: Guia Prático para Programação Multithread
300 páginas
Portuguese
PDF
4.5

Concorrência em C++: Guia Prático para Programação Multithread

Concorrência em C++: Guia Prático para Programação Multithread

Autor:

Ano:

Resumo:

O livro "Concorrência em C++: Guia Prático para Programação Multithread" é um guia abrangente para desenvolvedores que desejam dominar abordagens modernas para escrever aplicações multithread e assíncronas em C++. O autor, Alexei Ivanov, engenheiro de sistemas experiente e professor, aborda sequencialmente todos os aspectos-chave da programação concorrente, desde os fundamentos até padrões complexos de sincronização.



Sobre o que é este livro?

O livro cobre um espectro completo de tópicos necessários para trabalhar eficazmente com concorrência em C++:

  • Fundamentos de multithread: criação e gerenciamento de threads com std::thread, passagem de argumentos, tratamento de exceções em threads.
  • Sincronização de dados: mutexes (std::mutex, std::shared_mutex), locks (std::lock_guard, std::unique_lock), variáveis de condição (std::condition_variable).
  • Operações atômicas: std::atomic, modelos de memória C++ (memory ordering), programação lock-free e prevenção de data races.
  • Tarefas assíncronas: std::async, std::future, std::promise, std::packaged_task — escrevendo código assíncrono sem gerenciamento explícito de threads.
  • Algoritmos paralelos: uso de std::execution::par para paralelizar algoritmos padrão (C++17).
  • Padrões de projeto: thread pool, produtor-consumidor, reader-writer lock, barreiras e latches (std::barrier, std::latch em C++20).
  • Depuração e perfilamento: ferramentas para encontrar deadlocks, data races e gargalos em código multithread.


Para quem é este livro?

O livro é destinado a desenvolvedores C++ de nível intermediário e avançado que já estão familiarizados com os fundamentos da linguagem (ponteiros, templates, STL) e desejam aprofundar-se em tópicos de concorrência. Será útil para:

  • Programadores de servidores de alta carga e aplicações de rede.
  • Desenvolvedores de jogos e motores gráficos, onde o desempenho é crítico.
  • Engenheiros que trabalham com sistemas de tempo real ou sistemas embarcados.
  • Todos que desejam escrever código multithread seguro e eficiente em C++.


O que o leitor aprenderá?

Após ler o livro, você será capaz de:

  • Usar com confiança a biblioteca padrão de threads do C++ (std::thread, mutexes, futures).
  • Compreender o modelo de memória do C++ e escolher corretamente a ordenação de operações atômicas.
  • Evitar erros típicos: deadlock, livelock, data races.
  • Projetar sistemas concorrentes escaláveis usando padrões modernos.
  • Aplicar algoritmos paralelos para acelerar cálculos.

Recommendations