Pthreadを使用して、複数のスレッドを持つプログラムを作成しています。
sleep()
がプロセス(すべてのスレッド)の実行を停止させているのですか、それともsleep
を呼び出しているスレッドだけですか?
ただの糸。 sleep()のPOSIXドキュメント は次のように述べています:
sleep()
関数は、呼び出しthreadの実行を一時停止させます...
使用法:sleep(10)
は10秒間スリープします。
これを試して、
#include <unistd.h>
usleep(microseconds);
通常は nanosleep を使用しますが、正常に動作します。 Nanosleepは、呼び出しスレッドの実行を中断します。一部のマニュアルページでは、スリープはプロセス全体を指しているため、私は同じ疑問を抱いていました。