7个稳定版本
1.0.9 | 2023年11月29日 |
---|---|
1.0.8 | 2022年10月5日 |
1.0.7 | 2022年9月5日 |
1.0.3 | 2022年9月1日 |
#358 在 并发
5KB
68 行
打印队列
可以从不同线程添加并能在主线程上打印的打印队列
只需使用 tracing,本项目是为了学习如何在 crates.io 发布。
用法
简单用法
struct Person<'a> {
name: &'a str,
}
impl<'a> std::fmt::Display for Person<'a> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Hello: {}", self.name)
}
}
fn main() {
let person = Person { name: "John doe" };
print_queues::init();
print_queues::add("John Doe");
print_queues::add(person);
print_queues::print();
/*
"John Doe"
"Hello: John doe"
*/
}
print_queues::add("John");
print_queues::add("Doe");
let r = print_queues::next().unwrap();
// John
let r = print_queues::next().unwrap();
// Doe
线程用法
fn main() {
print_queues::init();
let th = std::thread::spawn(move || {
// some server or application loop that want to print
print_queues::add("Hello, Server!");
std::thread::sleep(
std::time::Duration::from_secs(3)
);
});
while !th.is_finished() {
print_queues::print();
std::thread::sleep(
std::time::Duration::from_millis(1)
);
}
}
依赖项
~25KB