TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação Concorrente

Artigos Científicos: Programação Concorrente. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  16/3/2015  •  259 Palavras (2 Páginas)  •  232 Visualizações

Página 1 de 2

Processos Concorrentes

Quando estamos lidando com processos interativos, a ordem das

operações sobre variáveis compartilhadas podem variar no tempo,

uma vez que as velocidades relativas dos processos dependem de

fatores externos

Toda vez que a ordem de execução causa interferência no resultado

temos uma condição de corrida (race condition)

Por exemplo: Suponha que três processos compartilhem uma variável

A. Dois deles fazem operações de modificação e um imprime o valor

da variável. Suponha também que a ordem em que estas operações

são feitas é importante. Se a variável A for modificada

simultaneamente pelos dois processos, o valor impresso irá depender

de quando as operações de escrita forem realizadas. Imagine se A =

10, e a seqüência de operações seja a seguinte:

Processo 1: A = A + 5;

Processo 2: A = A + 2;

Processo 3: Imprimir A;

Na ordem ao lado, o processo 3 irá

imprimir o valor 17. Se a ordem for

diferente, teremos outro valor para A

Neste exemplo, podemos ver que os processo em execução

compartilham o acesso a uma mesma variável. Eles são concorrentes

interativos e estão em condição de corrida.

As condições de corrida precisam ser evitadas para garantir que o

resultado de um processamento não varie entre uma execução e

outra.

Condições de corrida resultam em computações paralelas errôneas,

pois cada vez que o programa for executado com os mesmos dados

poderão ser obtidos resultados diferentes

A programação paralela exige mecanismos de sincronização entre

processos, e por isso sua codificação e depuração são mais

complexos (mais intelectualmente atraentes)

A programação paralela exige do sistema operacional o suporte

necessário para a criação e gerência de processos concorrentes,

mecanismos de sincronização e comunicação entre processos, acesso

aos dispositivos locais e remotos, e o controle de acesso a recursos

compartilhados

...

Baixar como  txt (1.9 Kb)  
Continuar por mais 1 página »