Как использовать таймер в Rust

Рейтинг: 1Ответов: 1Опубликовано: 16.02.2023

Здравствуйте возник один вопрос. Как в Rust возможность использовать Таймер. Я хочу сделать программу с таймером, по истечению определенного времени программа закрывается. Подскажите как использовать таймер в Rust пожалуйста.

Ответы

▲ 2Принят

Можно использовать библиотеку chrono:

Добавьте в файл Cargo.toml проекта зависимость chrono:

chrono = "0.4"

И, например, если нужно чтобы программа работала 5 секунд, пишем:

use chrono::{Local, Duration};

fn main() {
    let seconds = Duration::seconds(5);  // Сколько вам нужно секунд.

    let start = Local::now();
    loop {
        // Делаем что-то.

        if Local::now() - start >= seconds {  // Время прошло.
            return;  // Выходим.
        }
    }
}

PS: этот код написан на основе кода из книги "Rust в действии".


А можно std::time (спасибо @andreymal):

use std::time::{Duration, Instant};

fn main() {
    let seconds = Duration::from_secs(5);  // Сколько вам нужно секунд.

    let start = Instant::now();
    loop {
        // Делаем что-то.

        if Instant::now() - start >= seconds {  // Время прошло.
            return;  // Выходим.
        }
    }
}