5 个版本
0.0.0-pre-release3.1 | 2023 年 1 月 13 日 |
---|---|
0.0.0-pre-release3.0 | 2023 年 1 月 12 日 |
0.0.0-pre-release1.0 | 2023 年 1 月 11 日 |
#20 in #pop
22 每月下载量
15KB
384 行
Unlink
lib.rs
:
此软件包提供了一个支持并发 push
、pop
、peek
和 extend
的无锁栈。
use unlink::Stack;
use std::thread;
let stack = Stack::new();
thread::scope(|s| {
let stack = &stack;
s.spawn(move || {
for i in 0..100 {
stack.push(i);
}
});
s.spawn(move || {
for _ in 0..100 {
stack.pop();
}
});
s.spawn(move || {
for _ in 0..100 {
let _ = stack.peek();
}
});
s.spawn(move || {
for i in 0..10_usize {
stack.append(vec![i.pow(2), i.pow(3), i.pow(4)].into_iter().collect());
}
});
});
stack.into_iter().for_each(|v| print!("{}, ", v));
依赖项
~0.1–25MB
~334K SLoC