Olá, Bem-vindo!
Minimante, calcula-se a diferença de duas leituras de tempo, isso significa também o uso de ‘loop’ continuo/infinito e obviamente o processo fica ‘congelado’.
Exemplo
#include"iostream"
#include"chrono"
int
main (void) {
auto s = std::chrono::system_clock::now(), e = s;
loop: e = std::chrono::system_clock::now();
if (2u < std::chrono::duration_cast<std::chrono::seconds>(e - s) . count ( )) {
(std::cout << "~2seg ") . flush ( );
s = e;
}
goto loop;
return 0;
}