Controle de Concorrência

1291 palavras 6 páginas
Controle de Concorrência
Unidade 3

Se bem utilizado, o paralelismo resulta em utilizado, um melhor desempenho dos programas

Controle de Concorrência

Mais threads

No entanto, podem ocorrer problemas no entanto, acesso concorrente a dados e recursos

Monitores
Locks
Semáforos
Concorrência na API Java

Dados podem se tornar inconsistentes ao serem acessados concorrentemente
(ex.: duas pessoas editando o mesmo arquivo) arquivo) Alguns recursos não podem ser compartilhados
(ex.: dois programas usando a impressora) impressora) Controle de Concorrência

Controle de Concorrência

Exemplo:
Exemplo:
Suponha que X é um dado compartilhado, compartilhado, com valor inicial 0
P1
...
X=X+1
...

P2
...
X=X+2
...

Exemplo: Conta Bancária public class Conta { public double saldo = 0; public Conta(double saldo) { this.saldo = saldo;
System.out.println("Conta criada. Saldo inicial: R$" + saldo);
}

P3
...
X=X+3
...

public double getSaldo() { return saldo;
}

Qual o valor final de X?
Assembly:
Load X
Add 1
Store X

Load X
Add 2
Store X

Load X
Add 3
Store X

}

Controle de Concorrência

public void setSaldo(double saldo) { this.saldo = saldo;
}

Controle de Concorrência

Exemplo: Classe Banco public class Banco {

}

processador melhor utilizado

Exemplo: Clientes do Banco public class Cliente extends Thread {

public boolean saque(Conta conta, double valor) { double saldo = conta.getSaldo(); if (saldo < valor) {
System.out.println("Saldo insuficiente para o saque."); return false;
}
double novoSaldo = saldo - valor;
System.out.println(Thread.currentThread().getName() +
" sacou R$"+valor+". Saldo após saque: R$"+novoSaldo); conta.setSaldo(novoSaldo); return true;
}

private static Banco banco = new Banco(); private Conta conta = null; private double valor = 100; public Cliente(String nome, Conta conta) { super(nome); this.conta = conta;
}

}

public void run()

Relacionados

  • controle de concorrencia
    5513 palavras | 23 páginas
  • Controle de Concorrencia
    5400 palavras | 22 páginas
  • CONTROLE DE CONCORRÊNCIA
    7058 palavras | 29 páginas
  • Controle de Concorrência
    4340 palavras | 18 páginas
  • Conceitos de controle de concorrência
    4302 palavras | 18 páginas
  • 2 Controle De Concorrencia
    1333 palavras | 6 páginas
  • Controle de concorrência oracle
    835 palavras | 4 páginas
  • controle de concorrência em banco de dodos
    1276 palavras | 6 páginas
  • Controle de concorrência implementado pelo postgresql
    2727 palavras | 11 páginas
  • A DEFESA DO CONSUMIDOR DIANTE DA GARANTIA DA LIVRE CONCORRENCIA E OS PROCESSOS DE REGULAMENTA O E CONTROLE IMPOSTOS PELO ESTADO NESSE SENTIDO
    2777 palavras | 12 páginas