本文簡要介紹rust語言中 Function std::thread::sleep
的用法。
用法
pub fn sleep(dur: Duration)
使當前線程休眠至少指定的時間。
由於調度細節或平台相關函數,線程可能會比指定的持續時間更長。它永遠不會少睡。
此函數是阻塞的,不應在async
函數中使用。
特定於平台的行為
在 Unix 平台上,底層係統調用可能會被虛假喚醒或信號處理程序中斷。為了確保睡眠至少在指定的持續時間內發生,此函數可能會多次調用該係統調用。不支持納秒級睡眠精度的平台將 dur
向上舍入到它們可以睡眠的最接近的時間粒度。
目前,在 Unix 平台上指定零持續時間會立即返回,而不會調用底層的 nanosleep
係統調用,而在 Windows 平台上,始終會調用底層的 Sleep
係統調用。如果打算產生當前時間片,您可能需要改用 yield_now
。
例子
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);
相關用法
- Rust sleep_ms用法及代碼示例
- Rust slice.sort_unstable_by_key用法及代碼示例
- Rust slice.iter_mut用法及代碼示例
- Rust slice.windows用法及代碼示例
- Rust slice.repeat用法及代碼示例
- Rust slice.group_by_mut用法及代碼示例
- Rust slice.align_to_mut用法及代碼示例
- Rust slice.as_chunks_unchecked用法及代碼示例
- Rust slice.fill用法及代碼示例
- Rust slice.array_windows用法及代碼示例
- Rust slice.sort_unstable_by用法及代碼示例
- Rust slice.sort用法及代碼示例
- Rust slice.rotate_left用法及代碼示例
- Rust slice.as_mut_ptr用法及代碼示例
- Rust slice.swap_unchecked用法及代碼示例
- Rust slice.get_unchecked用法及代碼示例
- Rust slice.split_array_mut用法及代碼示例
- Rust slice.contains用法及代碼示例
- Rust slice.splitn_mut用法及代碼示例
- Rust slice.split_first用法及代碼示例
- Rust slice.splitn用法及代碼示例
- Rust slice.is_sorted_by_key用法及代碼示例
- Rust slice.split_array_ref用法及代碼示例
- Rust slice.group_by用法及代碼示例
- Rust slice.into_vec用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Function std::thread::sleep。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。