Capa do Livro Delphi Multithreading

Delphi Multithreading

Threads, Concorrência, Paralelismo e Assincronismo

O Guia Definitivo para Criar Aplicações Delphi Modernas, Rápidas e Responsivas.

Lançamento inicial em formato impresso.

Sua aplicação Delphi congela em operações demoradas?

Você sente que não está aproveitando todo o poder dos processadores multi-core modernos? É hora de dominar a programação concorrente e o paralelismo.

Este livro é um guia prático e completo, escrito por um Embarcadero MVP com quase 30 anos de experiência. Do básico da TThread à elegância da Parallel Programming Library (PPL), você aprenderá a construir aplicações robustas, evitar os temidos "UI Freezes", e resolver problemas complexos como race conditions e deadlocks.

Com quase 500 páginas, esta é uma formação completa que te leva do zero ao nível profissional. Prepare-se para transformar suas aplicações desktop, mobile, web e cloud entregando a performance e a fluidez que seus usuários esperam.

Para Quem é Este Livro?

Para o Desenvolvedor Iniciante

Se você está começando com threads, este livro é o seu guia. Aprenda os fundamentos de forma clara, com exemplos passo a passo, e construa uma base sólida para evitar os erros mais comuns.

Para o Desenvolvedor Experiente

Eleve suas habilidades a um novo patamar. Aprofunde-se em primitivas de sincronização, domine a PPL, e aprenda a aplicar padrões de arquitetura avançados para criar aplicações mais robustas e escaláveis.

Para o Arquiteto de Software

Projete sistemas de alta performance. Entenda as nuances do gerenciamento de memória, as particularidades do desenvolvimento mobile e os padrões de resiliência essenciais para sistemas críticos.

Destaques do Livro

Vá Além do Básico: Domine Padrões Profissionais

Mergulhe em tópicos avançados essenciais para aplicações de alta performance, como a criação e gerenciamento de um Thread Pool personalizado, e construa arquiteturas escaláveis que lidam com centenas de tarefas de forma eficiente.

Crie Apps Mobile Realmente Responsivos

Este livro dedica um módulo inteiro às particularidades da concorrência em plataformas mobile. Aprenda a evitar os temidos erros de "Application Not Responding" (ANRs) no Android e a garantir uma experiência de usuário fluida.

Sincronização Desmistificada

Domine TCriticalSection, TMutex, TMonitor, TEvent e TSemaphore. Aprenda não apenas como usá-las, mas quando e porquê, com exemplos práticos para prevenir Race Conditions e Deadlocks.

A Elegância da Parallel Programming Library (PPL)

Modernize seu código com TTask, IFuture e TParallel.For. Orquestre fluxos de trabalho complexos, processe dados em paralelo e execute requisições de rede de forma elegante, escrevendo menos código e alcançando mais performance.

Padrões de Arquitetura e Código Limpo

Uma aplicação multithreaded robusta começa com uma boa arquitetura. Aprenda as melhores práticas para organizar seu código, desacoplar a lógica de negócio da UI e criar um código limpo, testável e de fácil manutenção.

Padrões Avançados de Resiliência

Crie threads à prova de falhas. Aprenda a implementar um TCancellationToken para um cancelamento cooperativo elegante e estratégias de retry com backoff exponencial para lidar com falhas de rede e serviços temporariamente indisponíveis.

Sumário Completo

1: Introdução ao Processamento Concorrente e Assíncrono

  • 1.1: O Problema do Congelamento da Interface (UI Freeze)
  • 1.2: O que é Processamento Concorrente e Assíncrono?
  • 1.3: Por que Usar Threads/Assincronismo? (Benefícios)
  • 1.4: O Conceito de Thread
  • 1.5: Quando NÃO usar Threads (e buscar alternativas)

2: Fundamentos de Threads em Delphi (TThread básico)

  • 2.1: A Classe TThread - Estrutura e Ciclo de Vida
  • 2.2: Comunicando com a Thread Principal (Synchronize e Queue)
  • 2.3: Lidando com Múltiplas Threads e Dados Compartilhados
  • 2.4: Threads Anônimas (TThread.CreateAnonymousThread)

3: Sincronização de Threads

  • 3.1: TCriticalSection
  • 3.2: TMonitor
  • 3.3: TMutex
  • 3.4: TSemaphore
  • 3.5: TEvent

4: Gerenciamento e Cancelamento de Threads

  • 4.1: Início e Pausa Controlada
  • 4.2: Cancelamento Gentil (Terminate e WaitFor)
  • 4.3: Cancelamento Cooperativo com TCancellationToken
  • 4.4: Tratamento de Exceções em Threads
  • 4.5: Estratégias de Reprocessamento e Retry

5: Alternativas Assíncronas

  • 5.1: PostMessage e SendMessage
  • 5.2: I/O Assíncrono (Visão Geral)
  • 5.3: Integração de I/O Assíncrono com Threads
  • 5.4: Padrão de Execução Assíncrona na Main Thread
  • 5.5: Comunicação via System.Messaging

6: Parallel Programming Library (PPL)

  • 6.1: Introdução à PPL
  • 6.2: TTask e ITask
  • 6.3: TParallel.For
  • 6.4: Coordenação de Tarefas
  • 6.5: Cancelamento de Tarefas PPL

7: Tópicos Avançados em Threads

  • 7.1: Criando um Thread Pool Personalizado
  • 7.2: Gerenciamento de Memória e Multithreading
  • 7.3: TInterlocked - Operações Atômicas

8: Melhores Práticas e Depuração

  • 8.1: Organização do Código
  • 8.2: Coleções Thread-Safe
  • 8.3: Prevenção de Deadlocks e Race Conditions
  • 8.5: Depuração de Aplicações Multithreaded

9: Threads e Concorrência em Aplicações Mobile

  • 9.2: Prevenção de ANRs no Android
  • 9.3: Concorrência no iOS: Regras e APIs Nativas
  • 9.6: Requisições REST Paralelas
  • 9.8: Processamento de Imagens em Lote

10: Exemplos Úteis com PPL

  • 10.1: Processamento Paralelo de Arquivos em Lote
  • 10.2: Requisições de Rede Assíncronas e Paralelas
  • 10.3: Simulações e Cálculos Intensivos
  • 10.4: Orquestração de Fluxos de Trabalho Complexos

Sobre o Autor

Foto de Cesar Romero

Cesar Romero é um Arquiteto de Software, Engenheiro de Sistemas e um veterano da plataforma Delphi, com a qual tem trabalhado apaixonadamente desde 1996, nos primórdios da ferramenta. Com uma carreira de quase 30 anos, ele acumulou uma vasta experiência liderando equipes e projetando arquiteturas de software robustas para sistemas críticos em ambientes Windows, Linux, Cloud e Mobile.

Sua expertise não se limita a uma única linguagem; Cesar é um poliglota da programação, com profundo conhecimento em C#, Python, Go, JavaScript e Java, além de bancos de dados relacionais e NoSQL. Essa visão ampla lhe confere uma perspectiva única sobre os desafios do desenvolvimento de software moderno, desde a migração de sistemas legados até a orquestração de microserviços em nuvem com Azure Kubernetes Service (AKS).

Como um Embarcadero MVP, Cesar é uma voz ativa e respeitada na comunidade de desenvolvedores. Ele é um palestrante frequente em eventos no Brasil e no exterior, além de ter atuado como autor e instrutor em treinamentos para equipes de desenvolvimento, sempre com o objetivo de compartilhar conhecimento prático e de alto nível.

Este livro nasceu do desejo de preencher uma lacuna, consolidando anos de estudo e experiência prática em um guia definitivo sobre multithreading, concorrência e paralelismo – um dos tópicos mais desafiadores e essenciais para a criação de aplicações Delphi verdadeiramente modernas e performáticas.