Rust中与Python time.sleep()等效的方法?是否仅适用于线程?
Rust中与Python的time.sleep()等效的方法是什么?
你找到的thread::sleep就是Rust里和Pythontime.sleep()等效的同步阻塞休眠方法,你的理解有一点偏差——它不是“仅适用于线程”,而是作用于当前线程:
- 在单线程程序里,调用它会让整个程序暂停指定时长,和Python的
time.sleep()效果完全一致; - 在多线程程序里,只有调用这个方法的线程会进入休眠,其他线程可以正常运行。
完整的可运行代码示例如下:
use std::thread; use std::time::Duration; fn main() { println!("即将休眠5秒..."); // Duration::new(秒数, 纳秒数),这里是休眠5秒 thread::sleep(Duration::new(5, 0)); println!("休眠完成!"); }
补充说明:
- 如果是写异步代码(比如使用Tokio框架),会用到异步版本的休眠
tokio::time::sleep,但对于刚接触Rust的新手,先掌握同步场景的thread::sleep就足够覆盖大多数基础需求了。 thread::sleep的休眠时长是近似值,系统可能会因为调度延迟让实际休眠时间略长于指定时长。
内容的提问来源于stack exchange,提问作者anonymous_user
相关产品推荐
相关产品推荐

