Preguntas básicas sobre Java: intente escribir un programa multiproceso: inicie 4 subprocesos. Dos de ellos hacen un bucle 10 veces, cada vez sumando 1 a una determinada variable global, y los otros dos hacen un bucle 1
public?class?Day18_A?{
public?static?void?main(String[]?args)?throws?InterruptedException?{
¿Recuperar? rec?=?Recoun.getRec();
Hilo[]?trr?=?new?Thread[4];
for?(int?i?=?0; ?i?4;?i++)?{
trr[i]?=?new?Thread(new?NumberTest(rec,?i),?"Thread"?+?(i? +?1)?+?":\t");
}
para?(¿Hilo?¿Hilo?:?trr)?{
hilo .start();
}
para?(¿Hilo?¿hilo?:?trr)?{
hilo.join();
}
System.out.println("Todos los hilos finalizan para ver los resultados:"?+?rec.getCount());
}
}
clase?NumberTest?implementos?Runnable?{
private?Recoun?re;
privado?int?n;
NumberTest(Recoun?r,?int?i)?{
this.re?=?r;
this.n?=?i;
}
public?void?run()?{
para?(int?i?=?0;?i?10;?i++)?{
re.method(n);
}
}
}
clase?Recoun?{
privado?int?count?=?0;
privado?Recoun()?{
}
privado?estático?final ?Recoun ?rec?=?new?Recoun();
public?static?Recoun?getRec()?{
return?rec;
} p>
¿público?sincronizado?void?método(int?i)?{
si?(i?%?2?==?0)?{
Sistema .out.println(Thread.currentThread().getName()?+?(count++));
}?else?{
System.out.println(Thread .currentThread ().getName()?+?(count--));
}
}
public?synchronized?int?getCount() ?{
retorno?count;
}
}