首页 > 解决方案 > 如何在另一个线程上读取标准输入的同时写入自己的进程标准输入

问题描述

我正在一个线程上从标准输入读取并根据输入执行逻辑。

我有一种情况,我想从另一个线程写入我自己的进程STDIN(由该其他线程上下文中的现有逻辑处理,如果可能,不修改任何代码)。

这可能吗?不知道如何做到这一点。

我尝试了(不成功)这样的事情:

std::thread::spawn(|| {
    // my own stdin
                let stdin = std::io::stdin();
    
                while true {
                    // write to my own stdin - doesn't work!
                    stdin.write_all(b"Hello, world!\n");
                    sleep(Duration::from_secs(1));
                }
            });

标签: rust

解决方案


推荐阅读