C++ вызов функции каждую секунду

221
26 января 2018, 23:22

Нужно создать функцию, которая будет вызываться каждую секунду и выполнять определенные действия. Без sleep, ибо программа должна выполнять и другой функционал.

Answer 1

Так пойдет?

template<class Func, class ...Args>
void run(int msec, Func func, Args &&...args){
    auto endless = [=](Args &&...args){
        while(true){
            func(args...);
            std::this_thread::sleep_for(std::chrono::milliseconds(msec));
        }
    };
    std::thread thread(endless, args...);
    thread.detach();
}

Функция запускает поток, который вызывает вашу функцию с заданным интервалом и параметрами.

Пример

READ ALSO
Вывод .tif файлов после выбора папки из QComboBox

Вывод .tif файлов после выбора папки из QComboBox

Необходимо при выборе папки из QComboBox, показать файлыtif из данной папки в listView

221
Русский текст из getwindowtext

Русский текст из getwindowtext

В Qt 48 вызываю функцию getwindowtext, которая во второй параметр выдает заголовок окна

221
ошибка expected primary expression

ошибка expected primary expression

Ошибка в коде в классе DRIVER внизу кода

267
Нужен пример реализации (С++, векторы)

Нужен пример реализации (С++, векторы)

Здравствуйте! Нужна помощь в реализации данного задания, желательно с объяснением, тк

219