Please enable JavaScript.
Coggle requires JavaScript to display documents.
Threads - Coggle Diagram
Threads
Modelos de Geração de Multithreads
Usuário: feito pela biblioteca de threads
fornecem uma API ao programador para criar e gerenciar threads
POSIX Pthreads: especificação
Windows Threads (Windows API)
Java Threads
Kernel: admitidos direto no kernel
Modelo Muitos-para-Um (N:1): muitos threads de usuário pra um único kernel
Modelo Um-pra-Um (1:1): 1 thread usuário = 1 thread kernel
Modelo Muitos-para-Muitos (M:N): muitos threads de usuário para muitos threads de kernel
Definição: Unidade básica de utilização de CPU (miniprocessos)
Individual: ID de thread, contador de programas
Compartilhado: seção de dados, código e outros recursos
Navegador Web (exemplo): threads para cada aba, imagem, texto, etc.
Benefícios: Responsividade, Compartilhamento de recursos, Economia, Utiliza arquiteturas multiprocessadas
Programação Multicore: uso eficiente das CPUs
Paralelismo: executa mais de uma tarefa simultaneamente
Paralelismo de Dados: subconjuntos de dados para vários núcleos
Paralelismo de Tarefas: tarefas a múltiplos núcleos
Concorrência: dá suporte a mais de uma tarefa
Pode ter concorrência sem paralelismo, e ao mesmo tempo
Desafios
Identificação de Tarefas e Divisão das Atividades
Equilíbrio
Divisão de Dados
Dependência de Dados: dados examinados
Teste e Depuração (Debug): execução de programas paralelos