Conteúdo:

  1. Entendendo Threads e Multi-threading
    1. O que são Threads?
    2. Vantagens do Multi-threading
    3. Threads vs. Processos
    4. Contexto de Thread e Estado
  2. Funcionamento Interno de Threads
    1. Modelo de Threads
    2. Thread Principal e Threads de Trabalho
    3. Sincronização e Concorrência
    4. Deadlocks e Condições de Corrida
  3. Criação e Gerenciamento de Threads
    1. Criação de Threads
    2. Thread Pools
    3. Gerenciamento de Estado e Prioridade
    4. Finalização de Threads
  4. Uso Prático de Threads
    1. Threads em Linguagens de Programação
    2. Aplicações de Threads em Programação
    3. Exemplos de Uso de Threads
    4. Considerações de Desempenho e Recursos
  5. Sincronização e Comunicação entre Threads
    1. Acesso Concorrente a Recursos
    2. Problemas de Sincronização
    3. Mecanismos de Sincronização
    4. Compartilhamento de Dados entre Threads
  6. Boas Práticas e Padrões
    1. Gerenciando Threads em Aplicações Grandes
    2. Evitando Deadlocks e Condições de Corrida
    3. Uso de Variáveis Voláteis
    4. Modelos de Design para Multi-threading
  7. Exemplos em C#
    1. Criando Threads em C#
    2. Sincronização com Monitores
    3. Utilizando Tarefas Assíncronas
    4. Programação Paralela com TPL
  8. Conclusão
    1. Recapitulação dos Principais Pontos
    2. Vantagens e Desafios do Uso de Threads
    3. Explorando Aprofundamentos Futuros