
Как сделать таймер на с++(на андроид) Не с помощью sleep(это не работает) Пж помогите


Ответы на вопрос

#include <ctime>
using namespace std;
void startTimer(int ms) {
clock_t end_time = clock() + ms * (CLOCKS_PER_SEC / 1000);
while (clock() < end_time) {}
}
int main () {
cout << "Waitig for 5 seconds..." << endl;
startTimer(5000); // 5s -> 5000ms
cout << "5 seconds left.";
cin.ignore();
return 0;
}



Для создания таймера на C++ для Android без использования sleep
можно воспользоваться механизмом асинхронного программирования. В данном случае, можно использовать стандартную библиотеку C++11 или более поздних версий, которая поддерживает асинхронные операции.
Один из способов сделать таймер - это использовать класс std::async
, который позволяет выполнить функцию в отдельном потоке и получить от неё std::future
, чтобы отслеживать результат. В данном случае, мы будем использовать std::this_thread::sleep_for
для создания таймера.
Приведу пример простого таймера на C++ для Android:
cpp#include <iostream>
#include <future>
#include <chrono>
void timerFunction(int seconds) {
std::this_thread::sleep_for(std::chrono::seconds(seconds));
std::cout << "Timer completed after " << seconds << " seconds!" << std::endl;
}
int main() {
int duration = 5; // Задаем длительность таймера в секундах
std::cout << "Timer started for " << duration << " seconds." << std::endl;
// Запускаем таймер в отдельном потоке
std::future<void> timerFuture = std::async(std::launch::async, timerFunction, duration);
// Дожидаемся завершения таймера
timerFuture.wait();
std::cout << "Main thread continues." << std::endl;
return 0;
}
Этот код создаст таймер на 5 секунд и продолжит работу в главном потоке после истечения указанного времени.
Обратите внимание, что для использования стандартной библиотеки C++11 или более поздних версий вам нужно установить компилятор с поддержкой этих стандартов и настроить окружение для разработки на Android. Возможно, вам также потребуется использовать Android NDK для сборки C++ кода.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili