Lua中实现sleep函数功能的4种方法
2015-04-29 09:02
1231 查看
一个不幸的消息是Lua中没有内置sleep函数,我们需要DIY。有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
您可能感兴趣的文章:
相关文章推荐
- Lua中实现sleep函数功能的4种方法
- js对象如何实现数组索引功能并且自定义自己的方法 (4种方法)
- ATS 5.3.0在反向代理模式下实现正向代理功能方法
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能 | 琥珀志
- 纯javascript代码实现计算器功能(三种方法)
- 纯javascript代码实现计算器功能(三种方法)
- UISearchDisplayController(iOS < 8.0)实例应用实现搜索功能和VC展示效果, 以及代理方法的介绍
- ThinkPHP登录功能的实现方法
- JavaScript实现异步的4种方法
- PHP+AJAX实现投票功能的方法
- PHP+AJAX实现投票功能的方法
- ABAP 报表求和统计功能实现方法
- JSP文件下载功能的4种方法
- JSP文件下载功能的4种方法
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- ASP.NET MVC计划任务实现方法(定时执行某个功能)
- php实现返回上一页的功能的3种有效方法
- iOS 清理缓存功能的实现第二种方法
- iOS 清理缓存功能实现第一种方法
- 重写原生浏览器方法实现新功能