1
0
kopia lustrzana https://github.com/tearshark/librf.git synced 2024-10-01 15:57:07 +08:00
librf/tutorial/test_async_timer.cpp
2021-11-02 17:15:17 +08:00

44 wiersze
771 B
C++

#include <chrono>
#include <iostream>
#include <string>
#include <thread>
#include "librf/librf.h"
using namespace librf;
void resumable_main_timer()
{
using namespace std::chrono;
auto th = this_scheduler()->timer()->add_handler(system_clock::now() + 5s,
[](bool bValue)
{
if (bValue)
std::cout << "timer canceled." << std::endl;
else
std::cout << "timer after 5s." << std::endl;
});
auto th2 = this_scheduler()->timer()->add_handler(1s,
[&th](bool)
{
std::cout << "timer after 1s." << std::endl;
th.stop();
});
this_scheduler()->run_until_notask();
th2.stop(); //but th2 is invalid
}
#if LIBRF_TUTORIAL_STAND_ALONE
int main()
{
resumable_main_timer();
return 0;
}
#endif