quinta-feira, 14 de maio de 2015

Threads JAVA - Synchronized

Programação Orientado à Objetos
Threads / Sinchronized


Material de apoio: 
http://javafree.uol.com.br/artigo/868871/Entendendo-Threads-e-Sincronizacao.html
http://equipe.nce.ufrj.br/gabriel/arqcomp2/ThreadsemJava.pdf
http://javafree.uol.com.br/artigo/6955/Cap-9-Threads-Segmentos.html

3 comentários:

  1. Material muito prático para aprender a fazer Threads. Parabéns, Monteiro!

    ResponderExcluir
  2. Código para simular uma conta conjunta compartilhada entre quatro pessoas:

    package newpackage;

    public class ContaConjunta {
    private int saldo = 200;

    public int getSaldo(){
    return saldo;
    }
    public synchronized void sacar(int valor, String cliente){
    if(saldo >= valor){
    int saldoOriginal=saldo;
    System.out.println(cliente+" vai sacar");
    try {
    System.out.println(cliente+" esperando");
    Thread.sleep(1000);
    } catch (InterruptedException ex){}
    saldo -= valor;
    String msg = cliente+" sacou "+valor+" [Saldo Original= "+saldoOriginal+", Saldo Final= " +saldo+"]";
    System.out.println(msg);
    }else{
    System.out.println("Saldo insuficiente para "+cliente);
    }

    }

    }

    package newpackage;
    public class Compras implements Runnable {
    ContaConjunta conta = new ContaConjunta();

    public static void main (String[] args){

    Compras irAsCompras = new Compras();
    new Thread(irAsCompras, "Mãe").start();
    new Thread(irAsCompras, "Filho").start();
    new Thread(irAsCompras, "Pai").start();
    new Thread(irAsCompras, "Filha").start();

    }
    @Override
    public void run() {
    String cliente = Thread.currentThread().getName();
    for(int i=0; i<10;i++){
    conta.sacar(10,cliente);
    if(conta.getSaldo()<0){
    System.out.println("Estorou");
    }
    }
    }

    }

    ResponderExcluir
  3. Muito boa aula, mais um aprendizado e como sempre a aula é nota 10!!!

    ResponderExcluir

 

Charles Maquiavel

"Não há nada mais difícil do que se ter em mãos algo novo, nem nada mais perigoso do que conduzir por caminhos inéditos, ou incertos quanto ao sucesso, ao se tomar a dianteira na introdução de uma nova ordem das coisas."

Martha Gabriel

"Sábios nos encantam e estúpidos nos cansam. Os meios digitais apenas ampliaram o poder de ambos, mas a escolha de quem ouvir ainda é nossa."

Sou + vc na Estácio

A Universidade Estácio de Sá está com matriculas abertas para nosso próximo semestre 2016.3 EAD. Oferece 25% de desconto durante todo o primeiro semestre letivo. Não perca essa oportunidade!
Aproveite uma degustação, diversos cursos livres e grátis. Basta acessar o link: http://experimenteseusonho.com.br/Portal/Modules/Login/
 
Blogger Templates