Please enable JavaScript.
Coggle requires JavaScript to display documents.
THREADS - Coggle Diagram
THREADS
VISÃO GERAL
Thread vs Processo
Processo
Isolamento completo
Pesado
Thread
"Miniprocesso" dentro do processo
Motivação
Navegadores
Abas simultâneas
Editores de texto
Interface
Verificação ortográfica
Benefícios
Responsividade
Funciona mesmo com partes bloqueadas
Compartilhamento
Memória e recursos do processo pai
Economia
Criação/gerenciamento mais leve que processos
Multicore
Paralelismo real em múltiplos núcleos
PROGRAMAÇÃO MULTICORE
Paralelismo vs Concorrência
Paralelismo
Execução simultânea
Múltiplos núcleos
Concorrência
Alternância rápida
Ilusão de simultaneidade
Desafios
Identificação de tarefas independentes
Balanceamento de carga entre threads
Divisão e sincronização de dados
Dependências entre tarefas
Depuração complexa
Tipos de Paralelismo
Dados
Mesma operação em diferentes partes dos dados
Tarefas
Operações diferentes em paralelo
MODELOS DE THREADS
Muitos-para-Um (N:1)
Múltiplas threads usuário
1 thread kernel
Vantagem
Eficiente no espaço usuário
Desvantagem
Bloqueia processo inteiro em E/S
Um-para-Um (1:1)
Cada thread usuário
Thread kernel
Vantagem
Concorrência real
Suporte a multiprocessamento
Desvantagem
Overhead na criação
Muitos-para-Muitos (M:N)
Múltiplas threads usuário
Múltiplas threads kernel
Vantagem
Balanceamento ideal
Desvantagem
Complexidade de implementação