Please enable JavaScript.
Coggle requires JavaScript to display documents.
Capítulo 4: Threads, MAPA MENTAL 4, ALUNA: KAILANY FAUSTINO DE SOUZA,…
Capítulo 4: Threads
Visão Geral
Thread = Unidade básica de utilização de CPU
“Miniprocessos”
ID de thread (individual)
Beneficios
Compartilhamento de recursos
Responsividade
Economia de memoria
arquiteturas multiprocessadas
Processo tradicional = uma thread
seção de código
Muito menos gargalo
Programação Multicore
Paralelismo x Concorrência
Paralelismo
mais de uma tarefa simultaneamente
Tipos
Data Parallelism
distribui o
dado
mais rapido
Task Parallelism
flexivel
Concorrência
suporte a mais de
uma tarefa
concorrência ilude o usuário
programas multithread
difícil adaptar aplicações
Identificação de tarefas
divisão das atividades
Equilíbrio
Divisão de dados
Dependência de dados
debug
Modelos de Geração de Multithreads
Threads do usuário
Gerenciamento feito em nível de usuário
Threads do kernel
Threads admitidos diretamente
pelo kernel
Muitos para Um (N:1)
inadequado para SMT
perda de processo inteiro
Modelo eficiente
Um para Um (1:1)
Maior concorrência e uso de MP
Mais utilizado
Linux e Windows
desvantagem
custoso criar muitas threads de
kernel
Muitos para Muitos (M:N)
liberdade ao SO
permite que o SO crie um número suficiente de
threads do kernel
Bibliotecas de Threads
POSIX Pthreads
Windows Threads (Windows API)
Java Threads
método run()
interface Runnable (mais usada)
Criação
Assíncrona
usada em servidores multithreaded
pai e filho executados concorrentemente
Cada thread é executado independentemente um do outro
Síncrona
fork-join
pai espera os filhos
compartilhamento de dados
o thread-pai pode combinar os
resultados calculados por seus diversos filhos
APIs
usuário
kernel
Exemplos
Threads em .NET
Threads em Java
Criação de
Threads
banco de threads
threads pré existentes
controle de threads
Cancelamento de Threads
Cancelamento assíncrono
imediato
Cancelamento adiado
Sinais
tratam de eventos
Ativações do escalonador
Processo Leve (LWP)
implementa modelos
upcalls
mecanismo de
comunicação do kernel para a biblioteca de threads
MAPA MENTAL 4
ALUNA: KAILANY FAUSTINO DE SOUZA
DISCIPLINA: SO 2023/1