#[test] fn prompt_shutdown() { for _ in0..100 { let client = jobserver::Client::new(4).unwrap(); let count = Arc::new(AtomicU32::new(0)); let count2 = count.clone(); let tokens = Arc::new(Mutex::new(Vec::new())); let helper = client
.into_helper_thread(move |token| {
tokens.lock().unwrap().push(token);
count2.fetch_add(1, Ordering::SeqCst);
})
.unwrap();
// Request more tokens than what are available. for _ in0..5 {
helper.request_token();
} // Wait for at least some of the requests to finish. while count.load(Ordering::SeqCst) < 3 {
std::thread::yield_now();
} // Drop helper let t = std::time::Instant::now();
drop(helper); let d = t.elapsed();
assert!(d.as_secs_f64() < 0.5);
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-20)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.