</>
Plan du cours — 51/66

Exécution concurrente sans spawn

Avancé
// join! : attend TOUS les futures, exécutés en concurrence
let (a, b) = tokio::join!(appel_a(), appel_b());

// try_join! : s'arrête à la première erreur
let (a, b) = tokio::try_join!(appel_a(), appel_b())?;

// select! : réagit au PREMIER qui se termine, annule les autres
tokio::select! {
    r = appel_lent() => println!("résultat : {r}"),
    _ = tokio::time::sleep(Duration::from_secs(5)) => println!("timeout"),
}