Escolar Documentos
Profissional Documentos
Cultura Documentos
Threads
24 de março de 2023
Introdução
2 of 21
Exemplo: Editor de texto
3 of 21
Exemplo: Editor de texto
4 of 21
Exemplo: Servidor Web
• Despachante
◦ Laço infinito recebendo requisições
◦ Ativa operário
• Operário
◦ Laço infinito recebendo requisições
◦ Se página no cache, entrega ao despachante
◦ Caso contrário, acessa disco
5 of 21
Exemplo: Servidor Web
6 of 21
Modelo de Thread Clássico
• Thread dependente do processo
• Conceitos distintos
◦ Processo: agrupamento de recursos
◦ Thread: contador de programa que controla qual instrução deve ser
executada em seguida
• Múltiplas execuções dentro do processo
• Múltiplas Threads em um processo ↔ Múltiplas Processos em um
computador
• Threads compartilham endereçamento ↔ Processos compartilham
memória fı́sicas, discos, impressoras e outros recursos
• Threads Também chamadas de processos leves (lightweight
process)
• CPUs multithread → Suporte para chaveamento de multithreads
7 of 21
Modelo de Thread Clássico
8 of 21
Modelo de Thread Clássico
9 of 21
Modelo de Thread Clássico
A primeira coluna lista alguns itens compartilhados por todos os
threads em um processo. A segunda lista alguns itens especı́ficos a
cada thread.
10 of 21
Modelo de Thread Clássico
11 of 21
Threads POSIX
12 of 21
Threads POSIX
13 of 21
Threads POSIX
14 of 21
Implementação de Threads
• Modo usuário
• Modo núcleo (kernel)
• Modo hı́brido
15 of 21
Threads em Modo Usuário
16 of 21
Threads em Modo Usuário
17 of 21
Threads em Modo Núcleo
18 of 21
Threads em Modo Núcleo
19 of 21
Threads em Modo Hı́brido
20 of 21
Threads em Modo Hı́brido
21 of 21