Please enable JavaScript.
Coggle requires JavaScript to display documents.
Thread, Processos, Guilherme Albertini Clemente, Leonardo Keiji - Coggle…
Thread
Multi thread
Overhead
Mesmo espaço de endereçamento
Assincronicidade
Paralelismo
Desempenho
Flexibilidade
Custo
Deadlock
TCB
Prioridade
Estado de execução
Bits de estado
Implementações
Modo usuário
Implementados via aplicação
Pode ser implementado em SOs que não suportam threads
Se uma rotina pausa, todo o processo pausa
Modo híbrido
Combina vantagens
Modo kernel
Implementados pelo SO
Menor desempenho
Mono thread
Comunicação lenta
Mais consumo para manter concorrências
Cada processo suporta um programa
Processos
Monitores
Semáforos
Sincronização condicional
Múltiplos processos
Sub-rotinas
⠀
Aplicação concorrente
⠀
⠀
Comunicação
Troca de mensagens
Mecanismos de sincronização
Troca de mensagens
⠀
Compartilhamento de recursos
Variável compartilhada na memória
Compartilhamento de arquivo em disco
Solução dos problemas
Soluções dos problemas
Exclusão mútua
Impedir que múltiplos processos utilizem o mesmo recurso
Desabilitando interrupções
Instrução test-and-set
Algoritmo de Dekker
Algoritmo de Peterson
Programas
Concorrência
FORK
Cria outro processo
JOIN
Sincroniza programas
⠀
Lightweight
Guilherme Albertini Clemente
Leonardo Keiji