Sincronização (ciência da computação)

Sincronização é o gerenciamento adequado de múltiplas linhas de execução ou processos concorrentes que acedem um mesmo recurso limitado ou uma porção de dados, situação conhecida como condição 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áforos e exclusão mútua que definem regiões críticas.

Sincronização é útil em programas multitarefa 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.

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.