use futures::channel::mpsc; use futures::executor::{block_on, ThreadPool}; use futures::future::{ready, FutureExt}; use futures::lock::Mutex; use futures::stream::StreamExt; use futures::task::{Context, SpawnExt}; use futures_test::future::FutureTestExt; use futures_test::task::{new_count_waker, panic_context}; use std::sync::Arc;
#[test] fn mutex_acquire_uncontested() { let mutex = Mutex::new(()); for _ in0..10 {
assert!(mutex.lock().poll_unpin(&mut panic_context()).is_ready());
}
}
#[test] fn mutex_wakes_waiters() { let mutex = Mutex::new(()); let (waker, counter) = new_count_waker(); let lock = mutex.lock().poll_unpin(&mut panic_context());
assert!(lock.is_ready());
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.