2011-10-19 1 views
0

sftpサーバでは、別のアプリケーションがデータを操作している場合、私は "lockfile.lock"を作成します。 私のアプリケーションでは、lockfile.lockが存在し、「WAIT 5 SECONDS」よりもあるかどうか確認したいと思います。リモートファイルがロック解除されるまで待機/スリープ

どのようにCPUを100%にブラストすることなく5秒間待つのですか?

おかげで、WindowsおよびLinux上で

答えて

1

は、システムコール "スリープ()" があります。 WindowsLinux

1
#include <unistd.h> 
unsigned int sleep(unsigned int seconds); 

DESCRIPTION 
    sleep() makes the calling process sleep until seconds seconds 
    have elapsed or a signal arrives which is not ignored. 
+0

私はいつもsleep()もCPUが非常に高いと思っています。しかし、私はそれを試してみてください。 –

+1

スリープ中に*どのCPUも使用しません。 –

+0

実際にはそれを呼び出すスレッドを中断しますので、明示的にOSに "私は休憩中です"と宣言します。 OSは実行するために別のスレッドに移動し、後で実行します。スリープ(0)を呼び出すと、OSは別のスレッドに移動します(おそらく)。 – noelicus

関連する問題