Ожидание в текущем потоке в Rust
Ожидание приостанавливает текущий поток на заданную длину. Пока интервал не истек, следующие команды в этом потоке не выполняются. Так делают паузу между шагами или имитируют медленную работу.
Команда ожидания лежит в модуле потока и принимает интервал. Программа на время замирает, потом продолжает с места вызова:
use std::time::Duration;
use std::thread;
fn main() {
println!("start");
thread::sleep(Duration::from_millis(10));
println!("done");
}
Сначала на экране слово "start", затем
короткая пауза, затем "done". Интервал
берут небольшим, чтобы пример не висел долго
при проверке:
use std::time::Duration;
use std::thread;
fn main() {
for n in 0..3 {
println!("{}", n);
thread::sleep(Duration::from_millis(10));
}
}
Дано число:
let num = 20;
Выведите "wait", подождите столько
миллисекунд и выведите "go".
Скажите, что делает программа во время ожидания в том же потоке.
Дано число:
let num = 1;
В цикле от 0 до 3 выведите
номер шага, после каждого шага подождите
столько секунд.