Функция sleep
Функция sleep приостанавливает выполнение
текущего потока на заданный интервал времени.
Параметром функция принимает значение типа
Duration, которое задаёт длительность
приостановки. Функция не возвращает значения
и блокирует поток до истечения указанного времени.
Синтаксис
std::thread::sleep(dur)
Пример
Давайте приостановим выполнение программы на 2 секунды и выведем сообщение до и после паузы:
use std::thread;
use std::time::Duration;
fn main()
{
println!("start");
thread::sleep(Duration::from_secs(2));
println!("end");
}
Результат выполнения кода:
start
end
Пример
Давайте приостановим выполнение программы на 500 миллисекунд:
use std::thread;
use std::time::Duration;
fn main()
{
println!("before");
thread::sleep(Duration::from_millis(500));
println!("after");
}
Результат выполнения кода:
before
after
Пример
Давайте измерим, сколько времени прошло после приостановки на 1 секунду:
use std::thread;
use std::time::{Duration, Instant};
fn main()
{
let start = Instant::now();
thread::sleep(Duration::from_secs(1));
let res = start.elapsed();
println!("{:?}", res);
}
Результат выполнения кода:
1.0001234s
Смотрите также
-
тип
SystemTime,
который представляет системное время -
метод
now,
который возвращает текущее системное время -
метод
elapsed,
который возвращает время, прошедшее с момента -
константа
UNIX_EPOCH,
которая представляет начало эпохи Unix