0

2時間ごとにビジネスクラスの関数を呼び出したいです。while ループを使用せずに C/C++ で同じものを実装する方法がありません。私の問題は、 while(1) を使用できないことです。これは、さらに実行するためにコントロールを戻さないためです。

これに関するポインタは役に立ちます.... :)

タナクス

4

3 に答える 3

2

Boost.AsioTimersを提供します。

于 2010-11-01T07:58:17.870 に答える
0

一般的な解決策として、2 時間後に何らかのメッセージをメイン スレッドに送信するスレッドを開始できます。

Linux の場合、これを使用できます。

http://linux.die.net/man/3/alarm

次に、SIGALRMシグナルを処理します

于 2010-11-01T07:30:22.223 に答える
0

alarm(2)普通の C では、 orsetitimer(2)関数の使用を検討したでしょう。または、スレッドを生成し、そこから待機します。

アラームまたは setitimer ルートを決定する場合は、シグナル ハンドラーを記述する必要があり、定期的なメンテナンス コールを実行する時期であることを通知するためにディスパッチ ループが必要になる場合があることに注意してください。シグナルハンドラー内からのいくつかのこと。

于 2010-11-01T07:33:52.027 に答える