我有两个事件 一个是监听键盘事件
#[allow(dead_code)]
#[allow(unused_variables)]
fn capturescreen() {
let mut hk = hotkey::Listener::new();
hk.register_hotkey(0x0000, 0x78 as u32, || {
println!("f9");
std::process::exit(0x0100);})
.unwrap();
hk.listen();
}
一个是调用 ffmpeg
#[allow(dead_code)]
fn ffmpeg(err:fn()) {
let o = Command::new("ffmpeg")
.arg("-f")
.arg("gdigrab")
.arg("-i")
.arg("desktop")
.arg("-pix_fmt")
.arg("yuv420p")
.arg("H:/backupRecord/b.mp4")
.output()
.expect("error!");
if !o.status.success() {
println!("{:#?}",String::from_utf8(o.stderr));
err();
}
}
怎么运行这个两个事件在两个线程中启动不相互阻塞运行
1
共 1 条评论, 1 页
评论区
写评论没看懂问题……你主线程里用两个std::thread::spawn包起来,然后根据你的逻辑继续做其他事还是调用Join等待这两个进程结束不就好了吗