8个版本
0.2.3 | 2022年8月27日 |
---|---|
0.2.2 | 2021年8月14日 |
0.2.1 | 2021年6月3日 |
0.1.3 | 2021年5月31日 |
0.1.1 | 2021年4月8日 |
#945 在 异步
27 每月下载量
在 2 crate 中使用
78KB
1.5K SLoC
邮箱
有限容量通道。
该通道是一个多生产者、单消费者(MPSC)的有限队列。它被设计为用作actor的邮箱,遵循actor模型。
示例
简单创建一个通道并在其上发送消息。
use std::thread;
use heph_inbox::RecvError;
// Create a new small channel.
let (mut sender, mut receiver) = heph_inbox::new_small();
let sender_handle = thread::spawn(move || {
if let Err(err) = sender.try_send("Hello world!".to_owned()) {
panic!("Failed to send value: {}", err);
}
});
let receiver_handle = thread::spawn(move || {
// NOTE: this is just an example don't actually use a loop like this, it
// will waste CPU cycles when the channel is empty!
loop {
match receiver.try_recv() {
Ok(value) => println!("Got a value: {}", value),
Err(RecvError::Empty) => continue,
Err(RecvError::Disconnected) => break,
}
}
});
sender_handle.join().unwrap();
receiver_handle.join().unwrap();
许可证
在MIT许可证下许可(LICENSE 或 https://opensource.org/licenses/MIT)。
贡献
除非您明确表示,否则您提交给工作内容的任何贡献都应按上述方式许可,不得附加任何其他条款或条件。