Lua中使用Sleep函數


Lua中沒有內置的Sleep函數,有4種方法可以實現Sleep函數功能,如下:

方法1

  在一個死循環中設置一個跳出條件,但是這樣的做法會占用大量CPU資源,強烈不推薦使用.

function Sleep(n)
   local t0 = os.clock()
   while os.clock() - t0 <= n do end
end

方法2

  調用系統的Sleep函數,不消耗CPU,但是Windows系統中沒有內置這個命令(或者使用Cygwin),推薦在Linux系統中使用該方法.

function Sleep(n)
   os.execute("sleep " .. n)
end

方法3

  雖然Windows沒有內置Sleep命令,但是利用ping命令的性質.

function Sleep(n)
   if n > 0 then os.execute("ping -n " .. tonumber(n + 1) .. " localhost > NUL") end
end

方法4

  使用socket庫中select函數,可以傳遞0.1給n,使得休眠的時間精度達到毫秒級別.

require("socket")
function Sleep(n)
   socket.select(nil, nil, n)
end

轉自:http://blog.csdn.net/charlie_2010/article/details/6719891


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM