Function std::thread::sleep 1.4.0[−][src]
pub fn sleep(dur: Duration)
Expand description
使当前线程休眠至少指定的时间。
由于调度细节或平台相关的功能,线程的睡眠时间可能比指定的持续时间更长。它永远不会少睡。
该函数正在阻塞,因此不应在 async
函数中使用。
平台特定的行为
在 Unix 平台上,底层的系统调用可能会由于虚假唤醒或信号处理程序而中断。
为了确保至少在指定的持续时间内发生睡眠,此函数可以多次调用该系统。
不支持纳秒级睡眠精度的平台会将 dur
舍入为最接近的睡眠时间粒度。
当前,在 Unix 平台上指定零时长会立即返回,而不会调用基础 nanosleep
系统调用,而在 Windows 平台上,始终会调用基础 Sleep
系统调用。
如果要产生当前时间切片,则可能需要使用 yield_now
。
Examples
use std::{thread, time}; let ten_millis = time::Duration::from_millis(10); let now = time::Instant::now(); thread::sleep(ten_millis); assert!(now.elapsed() >= ten_millis);Run