</>
Plan du cours — 55/66

Limiter la concurrence

Avancé
use tokio::sync::Semaphore;

let semaphore = Arc::new(Semaphore::new(10));    // 10 tâches simultanées max

for url in urls {
    let permis = semaphore.clone().acquire_owned().await.unwrap();
    tokio::spawn(async move {
        telecharger(url).await;
        drop(permis);                            // libère la place
    });
}