Concorrência em C++: Multithreading, Assincronia e Paralelismo
300 páginas
Portuguese
PDF
4.5

Concorrência em C++: Multithreading, Assincronia e Paralelismo

Concorrência em C++: Multithreading, Assincronia e Paralelismo

Autor:

Ano:

Resumo:

Os processadores modernos possuem vários núcleos e, para aproveitar toda a sua potência, é necessário saber escrever código concorrente. O livro «Concorrência em C++» é um guia abrangente que o ajudará a dominar todos os aspetos da programação paralela em linguagem C++: desde threads básicas até padrões complexos de sincronização.



O livro começa com os fundamentos: você aprenderá como criar e gerenciar threads usando a biblioteca padrão (std::thread), como proteger dados compartilhados com mutexes (std::mutex) e evitar deadlocks. É dada especial atenção aos recursos modernos do C++11/14/17/20, como std::async, std::future, std::promise e std::packaged_task, que permitem escrever código assíncrono sem gerenciamento manual de threads.



Você também conhecerá o modelo de memória C++ (memory model), operações atômicas (std::atomic) e barreiras de memória — estes tópicos são criticamente importantes para criar algoritmos concorrentes corretos e eficientes. Um capítulo separado é dedicado a padrões de projeto para aplicações multithread: thread pool, producer-consumer, readers-writers lock e outros.



A parte prática do livro inclui a análise de exemplos reais: processamento paralelo de dados, filas concorrentes, estruturas de dados lock-free e otimização de desempenho. Você aprenderá a identificar e corrigir erros típicos: condições de corrida (data races), deadlocks, false sharing e problemas de cache.



Para quem é este livro:

  • Desenvolvedores C++ que desejam escrever aplicações multithread rápidas
  • Programadores que estão migrando de projetos single-thread para concorrentes
  • Profissionais que se preparam para entrevistas onde perguntam sobre multithreading
  • Todos que querem entender como o paralelismo funciona a nível de sistema


O que você aprenderá:

  • Como criar e sincronizar threads em C++
  • Como usar std::async, std::future e std::promise para tarefas assíncronas
  • Como funciona o modelo de memória C++ e as operações atômicas
  • Como projetar classes e contêineres thread-safe
  • Como evitar deadlocks, condições de corrida e outros problemas
  • Como perfilar e otimizar código concorrente
  • Como aplicar algoritmos lock-free e wait-free


O livro contém muitos exemplos de código que podem ser aplicados imediatamente nos seus projetos. Todos os exemplos foram testados com GCC, Clang e MSVC. Após a leitura, você será capaz de escrever com confiança programas concorrentes que utilizam eficientemente processadores multi-core e funcionam sem erros.



Esta não é uma teoria seca, mas sim um guia prático baseado em anos de experiência do autor. Você obterá uma compreensão profunda de como a concorrência funciona em C++ e aprenderá a aplicar esse conhecimento na prática.

Recommendations