Sincronização (ciência da computação): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m
Leonardo.stabile (discussão | contribs)
Linha 1:
'''Sincronização''' é o gerenciamento adequado de múltiplas [[thread (ciência da computação)|linhas de execução]] ou [[processo (informática)|processoprocessos]]s [[Concorrência (informática)|concorrentes]] que acessam um mesmo recurso limitado ou uma porção de dados, situação conhecida como ''race[[condição condition''de corrida]].
 
Este gerenciamento em geral deve prover acesso a todas as linhas de execução dentro dos limites do recurso limitado, de modo que todas tenham tempo finito de espera (não ficarão em espera infinita). No caso de acesso a uma porção de dados, as leituras e escritas realizadas devem ocorrer de modo a preservar a consistência.
 
Entre os mecanismos que provém sincronização podemos citar os [[Semáforo (computação)|semáforos]] e ''mutexes'' (''mutual exclusion'', [[exclusão mútua)]] que definem [[região crítica|regiões críticas]].
 
Sincronização é útil em programas ''[[multithreadmultitarefa]]'' para manter a consistência de dados usados por diversas linhas de execução, em [[sistemas distribuídos]] para controlar o acesso de diversos nós a um recurso limitado e [[bancos de dados]] para escalonar adequadamente acessos concorrentes à base.
 
{{esboço-programação}}