2 个版本
0.1.2 | 2024年6月15日 |
---|---|
0.1.1 | 2024年4月1日 |
#500 in 异步
13KB
299 行
NapMap
NapMap
是一个异步 HashMap
,它在请求的数据可用之前阻止请求者任务执行。
本质上,它是一种任务之间的同步工具,任务可以写入映射,而其他任务可以从中读取。
示例用法
#[tokio::main]
async fn main() {
let napmap = Arc::new(UnboundedNapMap::new());
tokio::spawn({
let map = napmap.clone();
async move {
tokio::time::sleep(Duration::from_secs(2)).await;
map.insert("key", 7).await;
}
});
let value = napmap.get("key").await.unwrap();
println!("value: {value}");
}
依赖项
~3–4.5MB
~66K SLoC