select! — races futures. join! — runs all futures.
select!:
join!:
1use tokio::{select, join};23select! {4 val = fetch_a() => println!("A: {}", val),5 val = fetch_b() => println!("B: {}", val),6}78let (a, b) = join!(fetch_a(), fetch_b());
Key: select for racing, join for parallel execution.