Please enable JavaScript.
Coggle requires JavaScript to display documents.
THREADS - Coggle Diagram
THREADS
Visão Geral
Thread
Fluxo de Execução
Individual
ID de Thread
Compartilhado
Seção de código
Miniprocessos
Motivação
Processo separado + threads de controle
Navegador Web, Processador de texto
Benefícios
Responsividade
Proquema funciona mesmo com o bloqueio de partes
Compartilhamento de Recursos
Threads compartilham memória do pai
Economia
Evita a alta deslocação de memória
Utilização de Arquiteturas multiprocessadas
Múltiplas CPUs usadas ao mesmo tempo
Programação Multicore
Paralelismo real
Mais de uma tarefa executada simultaneamente
Pode ocorrer ao mesmo tempo
Multiplos Cores em CPUs Modernas
Concorrência
Da Suporte a mais de uma tarefa
Pode ocorrer sem Paralelismo
Desafios da Programação Multicore
Identificação de Tarefas e Divisão de Atividades
Tarefas independentes umas das outras
Equilíbrio
Preciso dosar as atividades
Divisão de Dados
Dados tem execução em núcleos separados
Dependência de Dados
Determinar dependências entre tarefas
Teste e depuração (debug)
Diferentes caminhos de execução
Data Parallelism
Múltiplos núcleos executam subconjunto de um dado
Task Parallelism
Distribuem-se tarefas a múltiplos núcleos
Modelos de Geração de Multithreads
Threads de Usuário
Gerenciamento pela iblioteca de threads
Modelos de Relacionamento
1:1
Melhor aproveita o desempenho do multicore
M:N
Número suficiente de threads no Kernel são criados
N:1
Inapropriado para multicore
A Thread de usuário só é Processada se a de Kernel também for
Threads do Kernel
Admitidas diretemente pelo kernel
Biblioteca de Threads
Criação de Threads Assíncrona X Síncrona
Assíncrona
Pai e filho são executados concorrentemente
Síncrona
Todos os filhos devem terminar a execução para que o pai seja executado
Windows Threads (Windows API)
POSIX Pthreads
Java Threads
Questões Relacionadas com a Criação de Threads
Banco de Threads
Várias threads criadas em um pool esperando trabalho
Cancelamento de Threads
Terminando um thread antes que ele tenha terminado
Manipulação de Sinais
Notifica o Processo da ocorrencia de um evento particular
Ativação de escalinador
Processo Leve (LWP)