面试题答案
一键面试实现思路
- 使用
std::sync::mpsc
创建一个通道,用于线程间通信。mpsc
代表多生产者单消费者。 - 生成数字的线程将数字发送到通道中。
- 接收数字的线程从通道中接收数字并打印。
关键代码片段
use std::sync::mpsc;
use std::thread;
fn main() {
// 创建通道
let (tx, rx) = mpsc::channel();
// 生成数字的线程
let sender = thread::spawn(move || {
for i in 0..10 {
tx.send(i).unwrap();
}
});
// 接收数字并打印的线程
let receiver = thread::spawn(move || {
for num in rx {
println!("Received: {}", num);
}
});
sender.join().unwrap();
receiver.join().unwrap();
}