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();
}
});
});
}