-5
我一直在編寫一些簡單的東西,比如打印語句,但是我想讓處理器處於休眠狀態,以免同時有太多的打印語句。 我已經使用庫unistd.h並使用函數sleep()。 我遇到的問題是,當我要求睡眠函數睡眠時間少於0.9秒時,打印相同數量的語句,就好像我根本沒有使用函數sleep()。 如果我讓它睡一秒以上,但我不想睡一秒鐘,我就會少一點。睡眠()函數在C中不正確計時
坦克,請您閱讀和/或幫助。
我一直在編寫一些簡單的東西,比如打印語句,但是我想讓處理器處於休眠狀態,以免同時有太多的打印語句。 我已經使用庫unistd.h並使用函數sleep()。 我遇到的問題是,當我要求睡眠函數睡眠時間少於0.9秒時,打印相同數量的語句,就好像我根本沒有使用函數sleep()。 如果我讓它睡一秒以上,但我不想睡一秒鐘,我就會少一點。睡眠()函數在C中不正確計時
坦克,請您閱讀和/或幫助。
如果您閱讀the sleep
manual page,您會發現它需要幾秒鐘的時間,作爲整數。
如果在預期整數值時使用浮點值,編譯器將截斷它。例如,浮點值0.9
將被截斷爲整數0
。
所以你在做什麼實際上是sleep(0)
。
也在the sleep
manual page(至少對於Linux手冊頁),您將看到一個鏈接到the nanosleep
function。
你想在提問之前閱讀'sleep()'手冊頁。這會告訴你,你的一些假設是錯誤的。 – tofro
請閱讀手冊頁 - 它會睡眠整整數秒。用我們也許 –
什麼讓你覺得它可以採取浮動?你有沒有讀過睡眠文件? – Macmade