2016-09-14 11 views
-5

私は印刷ステートメントのような単純なものをコーディングしていましたが、プロセッサをスリープ状態にして、 ライブラリunistd.hを使用し、関数をsleep()に使用しました。 私が遭遇した問題は、スリープ機能に0.9未満のような1秒未満のスリープ状態を要求すると、機能を使用していない場合と同じ量の文が印刷されることです。sleep() 私が1秒以上寝るとうまくいきますが、1秒間寝ることは望ましくありません。Sleep()関数がC言語で正しくタイミングされていない

お気軽にお読みになり、助けてください。

+3

質問する前に 'sleep()'マンページを読んでみたかったでしょう。これはあなたの前提のいくつかが間違っているとあなたに言ったでしょう。 – tofro

+1

マニュアルページを読むと、整数秒間スリープ状態になります。 Usleepおそらく –

+5

あなたはそれがフロートを取ることができると思いますか?あなたは睡眠の文書を読んだことがありますか? – Macmade

答えて

4

the sleep manual pageを読むと、の整数として秒単位で表示されます。

整数値が必要なときに浮動小数点値を使用すると、コンパイラはそれを切り捨てます。たとえば、浮動小数点値0.9は、整数0に切り捨てられます。

だからあなたがしていることは効果的ですsleep(0)

the sleep manual page(少なくともLinuxのマニュアルページ)には、the nanosleep functionへのリンクがあります。

関連する問題