2 个稳定版本
使用旧的 Rust 2015
2.0.0 | 2017年2月28日 |
---|---|
1.0.0 | 2016年9月4日 |
#14 in #publish-subscribe
312 每月下载次数
用于 2 crates
7KB
93 代码行数,不包括注释
pub-sub
Rust 中的基本发布/订阅通道。
API 文档
许可证
许可协议为以下之一
- GNU Lesser General Public License v3.0 (LICENSE-LGPL 或 https://www.gnu.org/licenses/lgpl-3.0.en.html)
- MIT License (LICENSE-MIT 或 http://opensource.org/licenses/MIT) 可选。
lib.rs
:
基本发布/订阅通道。
用法
添加到 crate 依赖项
[dependencies]
pub-sub = "*"
在 crate 根目录中导入
extern crate pub_sub;
示例
extern crate pub_sub;
extern crate uuid;
use std::thread;
use uuid::Uuid;
fn main() {
let channel = pub_sub::PubSub::new();
let mut handles = vec![];
for _ in 0..16 {
let recv = channel.subscribe();
handles.push(thread::spawn(move || {
for _ in 0..16 {
println!("recevied {}", recv.recv().unwrap());
}
}));
}
for _ in 0..16 {
let channel = channel.clone();
handles.push(thread::spawn(move || {
let msg_id = Uuid::new_v4();
println!(" sent {}", msg_id);
channel.send(msg_id).unwrap();
}));
}
while let Some(handle) = handles.pop() {
handle.join().unwrap();
}
}
依赖项
~285–445KB