//Supongamos que antes se ha declarado esto:
//Object cerrojo = new Object();
//Object cerrojo = new Object();
Código:
switch(tipoHilo){
case 0:
for(int i=0; i<nVueltas; i++)
synchronized(cerrojo){ n=n+1;}; // <--- Cambio de cerrojo
break;
case 1:
for(int i=0; i<nVueltas; i++){
synchronized(cerrojo){n=n-1;}; // <--- Cambio de cerrojo
break;
}
Si dices eso, donde debo poner ese código?? según tu comentario antes del switch, porque no vas a declarar un atributo estático dentro de un método. Me dices que lo coloque antes del switch, posteo el codigo de como debe quedar segun usted y luego me dices que el codigo es mio y que es una bestia jejeje
Yo hasta ahora he tratado simular tu código porque nomas haz puesto código que no funcionan, malas indicaciones, o simplemente que funcionan pero estan mal hecho, y encima pones que mis codigo son bestiales y lo único que he hecho es seguir sus indicaciones para tratar de dar con el código que suyo que no funciona y que hasta ahora es que lo agrega al topic, para poder ver el problema y mirar que pasa... Pero el codigo malo que tienes me dices con son míos. Y en este punto es que haz puesto el código que deberías haber puesto al principio del hilo.
Men si eres tan buen programador, entonce hubieras arreglado y encontrado la razón porque pasa lo que pasa, ya que simplemente el error es básico.
Saludos y debuguea.