相关文章推荐
愤怒的佛珠  ·  【时政新闻】2023“文化和自然遗产日”吕梁 ...·  1 年前    · 
帅气的佛珠  ·  两边竖脊肌不一样厚,放松这里一次就好。_哔哩 ...·  1 年前    · 
讲道义的甘蔗  ·  我想问一下亮剑36集完整版从哪里能看_百度知道·  2 年前    · 
飘逸的核桃  ·  【路盛E70 EV图片】路盛E70 ...·  2 年前    · 
Hong  ·  夏伟东:当代中国马克思主义、21世纪马克思主义·  4 年前    · 
Code  ›  lua中的sleep实现 - 菜鸟++
科技新闻 博客园 lua socket
https://www.cnblogs.com/keystone/p/12869876.html
道上混的滑板
2 年前

这篇文章主要介绍了Lua中实现sleep函数功能的4种方法,本文讲解了在一个死循环中设置一个跳出条件方法、调用系统的sleep函数法、Windows下ping命令法、socket库中select函数法4种方法,需要的朋友可以参考下

一个不幸的消息是Lua中没有内置sleep函数,我们需要DIY。有4种方法可以实现sleep函数,如下:

复制代码 代码如下:

--在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用哦
function sleep(n)
local t0 = os.clock()
while os.clock() - t0 <= n do end
end
复制代码 代码如下:

--调用系统的sleep函数,不消耗CPU,但是Windows系统中没有内置这个命令(如果你又安装Cygwin神马的也行)。推荐在Linux系统中使用该方法
function sleep(n)
os.execute("sleep " .. n)
end
复制代码 代码如下:

--虽然Windows没有内置sleep命令,但是我们可以稍微利用下ping命令的性质
function sleep(n)
if n > 0 then os.execute("ping -n " .. tonumber(n + 1) .. " localhost > NUL") end
end
复制代码 代码如下:

--使用socket库中select函数,可以传递0.1给n,使得休眠的时间精度达到毫秒级别。
‍require("socket")
function sleep(n)
socket.select(nil, nil, n)
end
 
推荐文章
愤怒的佛珠  ·  【时政新闻】2023“文化和自然遗产日”吕梁市主场宣传活动在我县碧村举行
1 年前
帅气的佛珠  ·  两边竖脊肌不一样厚,放松这里一次就好。_哔哩哔哩_bilibili
1 年前
讲道义的甘蔗  ·  我想问一下亮剑36集完整版从哪里能看_百度知道
2 年前
飘逸的核桃  ·  【路盛E70 EV图片】路盛E70 EV图片大全 -新浪汽车
2 年前
Hong  ·  夏伟东:当代中国马克思主义、21世纪马克思主义
4 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号