C++のタイマーの使い方
C++では、std::chrono ライブラリを使用することでタイマーを利用できます。以下にタイマーを利用する簡単な例を示します。
#include <iostream>
#include <chrono>
#include <thread>
void timer_callback()
{
std::cout << "Timer expired!" << std::endl;
}
int main()
{
// 创建一个定时器线程
std::thread timer_thread([](){
// 等待 2 秒
std::this_thread::sleep_for(std::chrono::seconds(2));
// 调用定时器回调函数
timer_callback();
});
// 主线程执行其他任务
std::cout << "Main thread is working..." << std::endl;
// 等待定时器线程结束
timer_thread.join();
return 0;
}
上記のサンプルでは、2 秒待ってから timer_callback 関数を呼び出すタイマーのスレッドを作成しました。タイマーのスレッドが終了するまで、メインのスレッドは他の作業を行います。プログラムを実行すると、メインのスレッドが「Main thread is working…」と出力し、2 秒後にタイマーのスレッドが「Timer expired!」と出力します。
std::chronoライブラリを使用して簡単なタイマーを実装する方法を説明しました。さらに高度なタイマー機能を実装する場合は、Boost.Asioライブラリなどのより高度なタイマーライブラリを使用することもできます。