Существует так много устаревшей информации, что очень сложно выяснить, как спать. Мне бы хотелось что-то похожее на этот Java-код:
Thread.sleep(4000);
Существует так много устаревшей информации, что очень сложно выяснить, как спать. Мне бы хотелось что-то похожее на этот Java-код:
Thread.sleep(4000);
Обновленный ответ
Это обновленный код текущей версии Rust:
use std::time::Duration;
use std::thread::sleep;
fn main() {
sleep(Duration::from_millis(2));
}
URL-адрес ржавчины: http://is.gd/U7Oyip
Старый ответ до 1.0
По запросу pull https://github.com/rust-lang/rust/pull/23330 функция, которая заменит старый std::old_io::timer::sleep
, будет новой std::thread::sleep
.
Описание запроса на вывод GitHub:
Эта функция является текущей заменой std:: old_io:: timer, которая скоро будет устаревать. Эта функция нестабильна и имеет свою собственную поскольку он еще не имеет RFC и не существовал для очень долго.
Пример кода:
#![feature(std_misc, thread_sleep)]
use std::time::Duration;
use std::thread::sleep;
fn main() {
sleep(Duration::milliseconds(2));
}
Здесь используются sleep
и Duration
, которые в настоящее время находятся за решеткой функций thread_sleep
и std_misc
соответственно.
Duration
и sleep
вернулись и стабильны!
use std::time::Duration;
use std::thread;
fn main() {
thread::sleep(Duration::from_millis(4000))
}
Вы также можете использовать Duration::from_secs(4)
, что может быть более очевидным в этом случае.
Решение ниже 1.0 будет продолжать работать, если вы этого захотите, из-за характера семантического управления версиями.
Продолжительность не была стабильной во времени для 1.0, поэтому в городе появилась новая функция - thread::sleep_ms
:
use std::thread;
fn main() {
thread::sleep_ms(4000);
}