Red de conocimiento informático - Material del sitio web - 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

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?

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?

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ú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;

}

}