He notado dos métodos para "enviar mensajes". Uno que he visto usar Erlang y el otro es de Stackless Python. Por lo que entiendo aquí está la diferenciacanales de bloqueo vs mensaje asíncrono que pasa
Erlang Style - Los mensajes se envían y se ponen en cola en el buzón del proceso de recepción. A partir de ahí, se eliminan en una base FIFO. Una vez que el primer proceso envía el mensaje, es gratis continuar.
Estilo de Python - Proceso A hace colas hasta enviar al proceso B. B está realizando actualmente otra acción, por lo que A se congela hasta que B esté listo para recibir. Una vez que B abre un canal de lectura, A envía los datos, luego ambos continúan.
Ahora veo que las ventajas del método Erlang radican en que no tiene ningún proceso bloqueado. Si B nunca puede recibir, A todavía puede continuar. Sin embargo, he notado en algunos programas que he escrito, que es posible que los buzones de mensajes de Erlang se llenen de cientos (o miles) de mensajes, ya que la entrada de mensajes es mayor que la salida.
Ahora no he escrito un programa extenso en framework/language, así que me pregunto qué experiencia tiene con esto, y si es algo de lo que debería preocuparme.
Sí, sé que esto es abstracto, pero también estoy buscando respuestas bastante abstractas.