он, через опред время, вызовет функцию. Вижу варианты с chrono и созданием потока для этого. Разве это не жирно, отдельный поток для этого. А если их много? Есть какой-то удобный способ работы? Что бы был как Qtimer? Куда мне копать?
Один из вариантов. https://stackoverflow.com/questions/26790309/execute-function-in-c-after-a-delay-without-using-sleep
Ну так это отдельный поток, что мне кажется жирно
А кто сказал что QTimer без потока ?
Какую-то статью читал, вот и стало интересно а как он тогда делает? У меня linux
Через взаимодействие с ОС
А как? Нет примера? И шо это такое вообще
Юзать апишку конкретной ОС
Ну говоришь операционной системе "выхзови функцию через N секунд" и она тебя слушается
Какая послушная система ))
Ну все не так прям просто, но в целом да)
Вариантов нет без потока это вообще не сделать
А с потоком - Это тоже не сделать потому что твой таймер будет вызывать кот из другого потока
Можно сделать цикл как в игровых движках. Все объекты будут обновляться, в том числе объект таймер, он будет увеличивать свой внутренний счетчик и когла достигнет вызовет указатель на функцию. Но с таким подходом все приложение должно быть внутри этого цикла, то есть по сути это будет работать как игровой движок. Тогда можно и без потоков
Ну а почему бы и нет, спасибо
Я читал как работают браузеры и там как раз говорилось что все браузеры работают в одном потоке, но в тоже время javascript умеет делать async, без блокировки и там примерно так он и работает, по сути как игровой движок браузер
Обсуждают сегодня