Canales asíncronos

Varios crates admiten canales asíncronos. Por ejemplo, tokio:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 8 minutes.
  • Cambia el tamaño del canal a 3 y comprueba cómo afecta a la ejecución.

  • Overall, the interface is similar to the sync channels as seen in the morning class.

  • Prueba a quitar la llamada a std::mem::drop. ¿Qué sucede? ¿Por qué?

  • El crate Flume tiene canales que implementan sync y async,send y recv. Esto puede resultar práctico para aplicaciones complejas con tareas de E/S y tareas pesadas de procesamiento de CPU.

  • Es preferible trabajar con canales async por la capacidad de combinarlos con otros future para poder crear un flujo de control complejo.