-
-
-
-
CENAPAD-MGCO
A seguir: Quais números este programa
Acima: Comandos Conflitantes
Anterior: Comandos Conflitantes
- Espera-se que qualquer conjunto de ações definidas por
comandos não conflitantes seja atômico
- A noção de comandos conflitantes nem sempre é de fácil
aplicação, pois depende do mapeamento de variáveis de alto
nível na memória
- Parâmetros formais são um caso particularmente complicado
- Variáveis locais em C, Pascal ou Java nunca constituem
fonte de conflitos, pois normalmente são alocadas nas pilhas
exclusivas dos processos
- Quando um programa prescreve a execução em paralelo de comandos
conflitantes, diz-se que ele está provocando uma race
condition (um nome tradicional mas infeliz, pois deixa a impressão
de que um programa paralelo cujos resultados dependem das velocidades
relativas dos processos está obrigatoriamente errado)
- Um programa sequencial sintaticamente correto possui uma semântica
bem definida, mesmo que não seja aquela que se desejava
- É difícil fazer o mesmo com uma linguagem de alto nível sem perda
de paralelismo: (A[i]++,A[j]-) são conflitantes?
- A garantia de uma semântica bem definida fica aos
cuidados do programador!
Next: Quais números este programa
Up: Comandos Conflitantes
Previous: Comandos Conflitantes
Osvaldo Carvalho
-
Postscript -
Comentários?