Please enable JavaScript.
Coggle requires JavaScript to display documents.
Threads - Sistemas Paralelos Distribuídos - Coggle Diagram
Threads - Sistemas Paralelos Distribuídos
Definição:
"Threads são fluxos de controle independentes dentro de um mesmo processo"
Ou seja, são processos menores que funcionam dentro de um processo maior
compartilham recursos como memória e arquivos.
O texto da seção 3.1 do livro "Sistemas Distribuídos: Princípios e Paradigmas" apresenta uma introdução ao conceito de threads, tanto em sistemas não distribuídos quanto em sistemas distribuídos.
Em resumo, a seção 3.1 do livro aborda as principais características das threads, tanto em sistemas não distribuídos quanto em sistemas distribuídos. O texto destaca a importância de um bom gerenciamento de threads, especialmente em sistemas distribuídos, onde a programação concorrente é mais complexa. O uso de threads é uma técnica importante para melhorar o desempenho e permitir a cooperação entre processos em sistemas distribuídos.
O texto também destaca a importância de escolher a abordagem correta para a programação concorrente em sistemas distribuídos, levando em consideração fatores como a localidade dos dados e o grau de acoplamento entre os processos.
Definição - Threads em Sistemas Não Distribuídos
Melhoria de desempenho: permite que várias tarefas sejam executadas simultaneamente.
Gerenciamento de threads: evita problemas como condições de corrida e deadlocks.
Definição - Threads em Sistemas Distribuídos
Programação concorrente: permite que processos em diferentes máquinas cooperem para realizar uma tarefa.
Comunicação entre máquinas: é necessária para a programação concorrente em sistemas distribuídos.
Consistência dos dados: deve ser garantida em sistemas distribuídos, devido à comunicação entre máquinas.
Escolha da abordagem correta: deve levar em consideração fatores como a localidade dos dados e o grau de acoplamento entre os processos.
Importância dos trheads:
Melhoria de desempenho: permite que várias tarefas sejam executadas simultaneamente.
Cooperação entre processos: é possível em sistemas distribuídos por meio da programação concorrente.
Complexidade da programação concorrente em sistemas distribuídos: é maior do que em sistemas não distribuídos, devido à necessidade de lidar com a comunicação entre máquinas e garantir a consistência dos dados.