As Masterclasses - Fundamentos e Tópicos Avançados
Artigos profundamente teóricos. O leitor agora tem a oportunidade de aprender os conceitos fundamentais (Parâmetros em C++) e avançados (Concorrência).
← Voltar para artigos
Os Pilares da Passagem de Parâmetros em C/C++
Este artigo introduz os três métodos fundamentais de passagem de parâmetros: por valor (a cópia segura), por ponteiro (o endereço do original) e por referência (o apelido elegante).
Estruturando Dados: Passando structs e classes como parametros
Este texto demonstra por que passar dados complexos como structs e classes por valor é ineficiente e perigoso, estabelecendo a passagem por referência constante (const&) como o padrão-ouro do C++ moderno.
Passando Funções como Parâmetro
Este artigo compara a forma antiga e insegura de passar funções como parâmetro no C clássico com as abordagens modernas e seguras do C++, como os ponteiros de função com tipagem estrita e o std::function.
Passando um método de uma classe como parâmetro
Este artigo explica a complexidade de passar um método de classe como parâmetro devido ao ponteiro this e mostra como as ferramentas modernas, especialmente as funções lambda, resolvem o problema de forma elegante e segura.
O Despertar dos Múltiplos Núcleos - A Teoria da Concorrência
Este artigo explica por que a programação concorrente se tornou essencial após o fim da evolução da velocidade de núcleo único, introduzindo o conceito de "condição de corrida" como o principal desafio.
Ferramentas Essenciais - Gerenciando std::thread e std::mutex
Este texto apresenta as ferramentas básicas de concorrência em C++, mostrando como criar threads com std::thread e como resolver condições de corrida protegendo dados compartilhados com std::mutex.
O Ciclo de Vida das Threads - Quantas, Quando e Como Parar?
Este artigo aborda a gestão prática de threads, explicando como definir o número ideal de threads com base na tarefa (CPU-bound vs. I/O-bound) e como implementá-las de forma segura usando o padrão de cancelamento cooperativo.
Threads que Coordenam - condition_variable, future e Semáforos
Este texto explora ferramentas de sincronização avançadas, com foco na std::condition_variable para resolver o clássico problema produtor-consumidor de forma eficiente e sem desperdiçar CPU.
A Velocidade da Luz - Programação Lock-Free com std::atomic
Este artigo final sobre concorrência mergulha no mundo da performance extrema com std::atomic, explicando como as operações atômicas evitam o custo de um mutex para tarefas simples e de alta frequência.
Nos Bastidores da Performance - Uma Análise Técnica do Código-Fonte
Uma análise técnica do código-fonte da solução que otimizou a carga de XMLs, aplicando os conceitos de concorrência como produtor-consumidor, isolamento de recursos e operações atômicas para alcançar uma performance extrema.