本文简要介绍rust语言中 Struct std::sync::mpsc::TryIter
的用法。
用法
pub struct TryIter<'a, T: 'a> { /* fields omitted */ }
一个迭代器,它尝试为 Receiver
产生所有挂起的值,由 try_iter
创建。
None
将在没有剩余未决值或相应通道已挂起时返回。
这个迭代器永远不会阻塞调用者以等待数据可用。相反,它将返回 None
。
例子
use std::sync::mpsc::channel;
use std::thread;
use std::time::Duration;
let (sender, receiver) = channel();
// Nothing is in the buffer yet
assert!(receiver.try_iter().next().is_none());
println!("Nothing in the buffer...");
thread::spawn(move || {
sender.send(1).unwrap();
sender.send(2).unwrap();
sender.send(3).unwrap();
});
println!("Going to sleep...");
thread::sleep(Duration::from_secs(2)); // block for two seconds
for x in receiver.try_iter() {
println!("Got: {}", x);
}
相关用法
- Rust Try.from_output用法及代码示例
- Rust Try用法及代码示例
- Rust TryFrom用法及代码示例
- Rust Try.branch用法及代码示例
- Rust TcpStream.local_addr用法及代码示例
- Rust TcpStream.peer_addr用法及代码示例
- Rust TcpListener.take_error用法及代码示例
- Rust Take.limit用法及代码示例
- Rust TcpStream.set_nodelay用法及代码示例
- Rust ToSocketAddrs用法及代码示例
- Rust TcpStream.nodelay用法及代码示例
- Rust ToOwned.to_owned用法及代码示例
- Rust TcpListener.into_incoming用法及代码示例
- Rust TcpStream.take_error用法及代码示例
- Rust TcpListener.accept用法及代码示例
- Rust ThreadId用法及代码示例
- Rust Take.set_limit用法及代码示例
- Rust Thread.unpark用法及代码示例
- Rust TcpStream.write_timeout用法及代码示例
- Rust TcpListener.local_addr用法及代码示例
- Rust Take.get_ref用法及代码示例
- Rust TcpStream.peek用法及代码示例
- Rust TcpStream.set_write_timeout用法及代码示例
- Rust TcpListener.ttl用法及代码示例
- Rust TcpStream.set_nonblocking用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct std::sync::mpsc::TryIter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。