C++でタイマーを使用する方法
C++では、タイマーを使用して特定の操作を定期的に実行する機能を実現できます。一般的なタイマーには2つの実装方法があります。1つはC++標準ライブラリが提供するchronoライブラリを使用する方法、もう1つはオペレーティングシステムが提供するタイマーを使用する方法です。
C++ 標準ライブラリの ライブラリを使用してタイマーを実装する手順は次のとおりです。
- 生まれつきの才能も努力の賜物も、芸術の追究の糧になる。
- 日本語のネイティブで言い換えると、次のようになります。
#include <chrono>
#include <thread>
- 定时実行されるアクションを表す関数またはラムダ式を定義します。
void MyFunction(){
// 执行定时操作的代码
}
- thisスレッドはsleep_for
std::chrono::milliseconds duration(1000); // 设置定时的时间间隔,这里是1秒
while (true){
MyFunction();
std::this_thread::sleep_for(duration); // 休眠指定的时间
}
オペレーティングシステムが提供するタイマーを使用する手順
#include <windows.h>
- 定期的に実行する処理を表す関数またはラムダ式を定義します。
void MyFunction(){
// 执行定时操作的代码
}
- OSが提供するタイマ関数を利用してタイマ機能を実現する。
UINT_PTR timerID = SetTimer(NULL, 0, 1000, NULL); // 创建一个1秒触发一次的定时器
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)){
if (msg.message == WM_TIMER && msg.wParam == timerID){
MyFunction(); // 定时器触发时执行操作
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
KillTimer(NULL, timerID); // 销毁定时器
タイマー処理を実装する方法でよく用いられているC++の2種類を挙げました。ご自身の状況に合わせて、適切なものを選択して時間制御系を実装してください。