#stdin #read-stream #tokio #thread #io #channel

tokio-stdin

以 Tokio 流的形式读取 stdin

3 个版本

使用旧的 Rust 2015

0.1.2 2019 年 7 月 9 日
0.1.1 2018 年 1 月 3 日
0.1.0 2017 年 10 月 1 日

#1161并发

Download history 39/week @ 2024-03-28 22/week @ 2024-04-04 2/week @ 2024-04-18 3/week @ 2024-04-25 3/week @ 2024-05-30 1/week @ 2024-06-06

每月 55 次下载
用于 stream-combinators

MIT/Apache

6KB

tokio-stdin

注意: 此库已不再必要。自 tokio 0.1.6 版起,现在可以使用 tokio::io::stdin 函数,无需启动单独的线程即可从 stdin 读取。

通过启动单独的线程,以 Tokio 流的形式从 stdin 读取。

extern crate futures;
extern crate tokio_stdin;

fn main() {
    use futures::Stream;

    tokio_stdin::spawn_stdin_stream_unbounded().wait();
}

据我所知,这是目前推荐的这种方式。2016 年 12 月 29 日,alexcrichton 评论

通常对于小的 CLI 工具等,你可能想使用通道与外部线程进行通信。你可以为 stdin/stdout/stderr 每个线程创建一个 futures::sync::mpsc,主线程通过它与通信。

此 crate 在运行时锁定 stdin,因此尝试在其他部分的代码中读取 stdin 可能会导致死锁。

请参阅 count_keys 示例以了解其简单用法。

许可证:MIT/Apache-2.0

依赖项

~53KB