Necessidade de Sincronização
Outro Exemplo:
- Variável compartilhada s, inicialmente s=0
- Processadores Pi fazem s=s+i,i={1,2}, simultaneamente
- Qual o valor final de s?
Processador P1: Processador P2:
1a) R1=1 2a) R1=2
1b) R2=mem(s) 2b) R2=mem(s)
1c) R3=R2+R1 2c) R3=R2+R1
1d) mem(s)=R3 2d) mem(s)=R3
- O que acontece se (2b) ocorre junto com (1c)? (s = 2 !)
- Valor final de s deveria ser 3, com qualquer ordem