Productor-consumidor en Kotlin utilizando java.util.concurrent

Este ejemplo utiliza la interfaz BlockingQueue para implementar una cola bloqueante, que es una versión segura para hilos de una cola, adecuada para el escenario de productor-consumidor. La clase LinkedBlockingQueue es una implementación de BlockingQueue que utiliza una lista enlazada como estructura de datos interna. Los productores agregan elementos a la cola utilizando put() y los consumidores los retiran utilizando take(). La cola se bloqueará automáticamente si está vacía o llena, lo que permite que los hilos esperen de manera segura sin necesidad de sincronización explícita.

[crayon-6a61880320b2c437770834/]