pastebin

Ejercicio 4
  1. package ejercicios;
  2. import static es.urjc.etsii.code.concurrency.SimpleConcurrent.*;
  3. public class Ejercicio4 {
  4.         public static volatile int valor;
  5.         public static volatile boolean puedeSumar = false;
  6.         public static volatile boolean sumado = false;
  7.         public static volatile boolean puedeEnviarPeticion = true;
  8.         public static volatile int numPeticiones = 5;
  9.         public static volatile boolean partidaEmpezada = true;
  10.        
  11.         public static void servidor() {
  12.                 while(partidaEmpezada) {
  13.                         sleepRandom(500);
  14.                         while(!puedeSumar);
  15.                         valor++;
  16.                         puedeSumar = false;
  17.                         puedeEnviarPeticion = true;
  18.                         sumado =  true;
  19.                 }
  20.                
  21.         }
  22.        
  23.         public static void cliente() {
  24.                 while(partidaEmpezada) {
  25.                         valor = 1;
  26.                         println("Valor Generado: " + valor);
  27.                         puedeSumar = true;
  28.                         while(!puedeEnviarPeticion);
  29.                         puedeEnviarPeticion = false;
  30.                        
  31.                         while(!sumado);
  32.                         println("Nuevo Valor: " + valor);
  33.                 }
  34.         }
  35.        
  36.         public static void main(string[] args) {
  37.                 createThread("servidor");
  38.                 createThread("cliente");
  39.                 startThreadsAndWait();
  40.         }
  41. }
Parsed in 0.019 seconds