Red de conocimiento informático - Material del sitio web - ¿Cuál es la diferencia entre cyclibarriar y countdownlatch en Java?

¿Cuál es la diferencia entre cyclibarriar y countdownlatch en Java?

Un cyclibarriar es una valla y es exactamente lo que su nombre indica: es un dispositivo de interceptación. Varios subprocesos comienzan y se bloquean en una valla, y la definición general de la valla determinará cuántos subprocesos hay. Por ejemplo, si se define como 4, se bloquearán tres hilos cuando lleguen a la cerca. Si no hay un cuarto hilo, se bloquearán solo cuando el cuarto hilo comience a llegar a la cerca, todos los hilos podrán comenzar a funcionar. Esto es un poco como el ejemplo de las carreras de caballos. Todos los caballos caminaron hasta el punto de partida uno por uno, y cuando llegaron todos, empezaron a correr.

Countdownlatch: Inicializa y define un número (entero), como 2. Cuando un hilo comienza a esperar a que se detenga el bloqueo, llama a una cuenta atrás y la reduce en 1. El hilo no continuará hasta la cuenta atrás. se convierte en 0. funciona; de lo contrario, se bloqueará.

Si escribes un programa de carreras de caballos tú mismo, lo entenderás todo.