1.Concepto de cuenta atrás
¿Qué es y para qué sirve?
De hecho, es equivalente a un contador. Por ejemplo, antes de ejecutar un determinado subproceso, debe tener 10 subprocesos en ejecución antes de poder ejecutarlo. Luego, puede usar esto para asegurarse de que,
De hecho, qué escenas hay, por ejemplo, cuando su computadora está encendida, la BIOS verifica si la memoria y la tarjeta gráfica son normales, qué configuraciones de interfaz están cargadas, el sistema operativo está cargado, etc. escritorio después de que se estén ejecutando los subprocesos.
2. Escena de simulación
Aquí simulamos una carrera a pie, hay diez personas en la carrera y la carrera termina después de que todos hayan corrido o el tiempo supere los diez minutos.
Subir código
@RequestMapping({"/gameProcess"})
@ResponseBody
public String gameProcess(){
//模拟跑步比赛
System.out.println("发令枪------啪");
RCountDownLatch countDownLatch = redissonClient.getCountDownLatch("countDownLatch");
countDownLatch.trySetCount(10);
try {
countDownLatch.await(10, TimeUnit.MINUTES);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "比赛结束";
}
@RequestMapping({"/finish/{id}"})
@ResponseBody
public String finish(@PathVariable String id){
RCountDownLatch countDownLatch = redissonClient.getCountDownLatch("countDownLatch");
countDownLatch.countDown();
return id+"选手跑完了";
}
Prueba y análisis:
(1). Inicie el juego y espere a que el árbitro dé la orden.
(2) Competidores de principio a fin
. . . Otros continúan terminando hasta el último compañero
Bueno, he terminado de correr del 1 al 10. Parece que no tengo que trabajar diez minutos extra, el árbitro dejó de esperar y anunció el final del partido.