día110-caché-bloqueo distribuido-Redisson-bloqueo cuenta regresiva prueba de bloqueo

 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.

 

 

Supongo que te gusta

Origin blog.csdn.net/JavaCoder_juejue/article/details/115058503
Recomendado
Clasificación