Saltar al contenido
uencoder

Channel

Un canal es una cola de mensajes con seguridad de tipos para la comunicación y sincronización entre corrutinas/hilos, que implementa el modelo de concurrencia CSP.

Propósito

Lograr la comunicación concurrente mediante el paso de mensajes en lugar de memoria compartida, evitando carreras.

Mecanismo

Un emisor pone mensajes en un canal y un receptor los saca. Los canales son con búfer (asíncronos) o sin búfer (síncronos). Los canales de Go son ciudadanos de primera clase. select multiplexa canales. Cerrar un canal difunde la finalización.

Casos de uso

  • Comunicación concurrente
  • Programación en Go
  • Modelo CSP

Términos relacionados

References