c-component に wait ステートメントはありますか? たとえば、プロセスを続行する前に 0.5 秒待機しますか?
ありがとう!
Johannes Weissの投稿の小さな問題を要約して修正するには(ドイツ語以外のキーボード、申し訳ありません):
昔ながらのPOSIXでは、usleep()関数を使用できます。この関数は、スリープするマイクロ秒数を符号なし整数引数として受け入れます。したがって、0.5秒間スリープするには、次のように呼び出します。
#include <unistd.h>
usleep(500000); /* Five hundred thousand microseconds is half a second. */
新しいPOSIXスタイルのプログラム(私のGentoo LinuxボックスのマニュアルページにはPOSIX.1-2001と書かれています)の場合、nanosleep()を使用します。これには、スリープ期間を保持する構造体へのポインターが必要です。0.5秒間スリープすると、次のようになります。
#include <time.h>
struct timespec t;
t.tv_sec = 0;
t.tv_nsec = 500000000; /* Five hundred million nanoseconds is half a second. */
nanosleep(&t, NULL); /* Ignore remainder. */
nanosleep()の2番目の引数は「rem」と呼ばれ、スリープが何らかの理由で中断された場合、残りの時間を受け取ります。ここでは、簡単にするためにNULLのままにしました。remが(十分に)ゼロになるまでループを実行して、中断に関係なく、本当に睡眠をとることができます。
POSIXには
usleep(500);
と
nanosleep(...);
usleep(3)
とのマニュアルを参照してくださいnanosleep(2)
。EDIT :マンページによるとnanosleep
、現在usleep
は推奨されていないようです。POSIX.2008
sleep は POSIX でも利用できます。違いは、引数がプロセスがスリープするミリ秒数ではなく秒数を指定することです。