fn counter_async()

in benches/counter.rs [11:31]


fn counter_async(scheduler: impl Scheduler + 'static) {
    let runner = Runner::new(scheduler, Default::default());
    runner.run(|| {
        let counter = Arc::new(AtomicUsize::new(0usize));

        let tasks: Vec<_> = (0..NUM_TASKS)
            .map(|_| {
                let counter = Arc::clone(&counter);
                asynch::spawn(async move {
                    counter.fetch_add(1, Ordering::SeqCst);
                })
            })
            .collect();

        asynch::block_on(async move {
            for t in tasks {
                t.await.unwrap();
            }
        });
    });
}