Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
sod:experimentos_em_coordenacao [2011/09/14 17:47] mazierosod:experimentos_em_coordenacao [2011/09/14 17:54] (atual) maziero
Linha 1: Linha 1:
 +====== Experimentos em coordenação ======
 +
 +Esta prática consiste em implementar alguns problemas clássicos de coordenação usando a linguagem Java.
 +
 +Um exemplo de criação de //threads// em Java está apresentado a seguir:
 +
 +<code java threads.java>
 +public class MyThread extends Thread
 +{
 +   int threadID;
 +
 +   // construtor
 +   MyThread (int ID)
 +   {
 +      threadID = ID;
 +   }
 +
 +   // corpo da thread
 +   public void run ()
 +   {
 +      int i ;
 +
 +      for (i = 0; i< 100 ; i++)
 +        System.out.println ("Hello from t" + threadID + "!") ;
 +   }
 +
 +   // programa principal
 +   public static void main (String args[])
 +   {
 +      // cria três threads
 +      MyThread t1 = new MyThread (1);
 +      MyThread t2 = new MyThread (2);
 +      MyThread t3 = new MyThread (3);
 +
 +      // inicia as três threads
 +      t1.start ();
 +      t2.start ();
 +      t3.start ();
 +   }
 +}
 +</code>
 +
 +==== Soma multi-thread (50%) ====
 +
 +Escrever um programa com //threads// que incrementam de forma concorrente um contador global inteiro. Use 100 threads, cada uma incrementando o contador 100.000 vezes. Construa uma solução simples, sem controle de concorrência, e outra com controle de concorrência através de um //mutex//. Compare os resultados obtidos em termos de exatidão do resultado e de velocidade de execução.
 +
 +==== O Jantar dos filósofos (25%) ====
 +
 +Implemente o problema do Jantar dos Filósofos descrito na aula passada; sem prevenção de impasses (solução básica) e com prevenção de impasses através do algoritmo do saleiro.
 +
 +==== O Jantar dos selvagens (25%) ====
 +
 +[[so:jantar_dos_selvagens]]
 +
 +