QTimerは、「シングルショット」、またはあなたの場合のように、指定された (ミリ秒) の頻度で繰り返し起動します。
「ルーパー」よりも一般的な用語である可能性があるため、「watch-dog-timer」をグーグルで検索することもできます。
もっと低レベルに行きたい場合、一部のシステム (Windows など) には「システム クロック」(通常はミリ秒の解像度) と、「マルチメディア クロック」のような別の高性能クロック (通常はナノ秒の解像度) があります。 ) パフォーマンスが重要な場合。
[編集]わかりましたので、「what-is-a-looper」のビデオを見ました。これは、標準のイベント処理キューのように見えます。GUI イベントがキューに追加されたメッセージをトリガーし、「ルーパー」がメッセージ キューを定期的にクリア/実行します。特別なケースは、「ルーパー」が「ローカル サービス コール」も処理することです (Android では、ビデオのトピックでした)。したがって、次のものが必要なだけのようです。
- メッセージ待ち行列
- メッセージキューをクリアするタイマー (スレッド上、または「メイン処理」とは別)
ビデオは次のように述べています。
- ビューは Looper メッセージを使用してイベントを発生させます
- ルーパーはスレッドと1:1なのでビューツリーも
- 作成したスレッドはビューに直接触れることはできません
- ただし、独自のスレッド用に新しいルーパーを作成できます
興味深いですが、実装するのは特に難しいようには見えません。これはよく踏まれたパターンです。
したがって、この文脈では、私の提案はQTimer
解決策の一部にすぎません。メッセージキューのライブラリを一緒に使用したいようです。