相关文章推荐
拉风的绿豆  ·  lua定时任务-CSDN博客·  2 周前    · 
欢快的围巾  ·  12小时制(AM ...·  3 月前    · 
爱吹牛的刺猬  ·  checkbox ...·  1 年前    · 
博学的紫菜  ·  实现Dask ...·  1 年前    · 
有胆有识的泡面  ·  ts2339 property ...·  1 年前    · 

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

--在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用哦
function sleep(n)
   local t0 = os.clock()
   while os.clock() - t0 <= n do end
--调用系统的sleep函数,不消耗CPU,但是Windows系统中没有内置这个命令(如果你又安装Cygwin神马的也行)。推荐在Linux系统中使用该方法
function sleep(n)
   os.execute("sleep " .. n)
--虽然Windows没有内置sleep命令,但是我们可以稍微利用下ping命令的性质
function sleep(n)
   if n > 0 then os.execute("ping -n " .. tonumber(n + 1) .. " localhost > NUL") end
--使用socket库中select函数,可以传递0.1给n,使得休眠的时间精度达到毫秒级别。
‍require("socket")
function sleep(n)
   socket.select(nil, nil, n)
                    一个不幸的消息是Lua中没有内置sleep函数,我们需要DIY。有4种方法可以实现sleep函数,如下:方法1--在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用哦function sleep(n)local t0 = os.clock()while os.clock() - t0 &lt;= n do endend方法2--调用系统的sleep函数,不消耗CPU,但是Windows系统中没有内置这个命令(如果你又安装Cygwin神马...
A common need is to pause (sleep) a program for a certain number of seconds, preferably without busy waiting.
				
Lua中没有内置的Sleep函数,有4种方法可以实现Sleep函数功能,如下: 方法1 在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用. function Sleep(n) local t0 = os.clock() while os.clock() - t0 <= n do end Lua原生不支持sleep功能,在Linux可以按如下实现: function sleep(n) os.execute(&amp;quot;sleep &amp;quot; .. n) sleep(5) print(&amp;quot;Hello World!&amp;quot;)
这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多第三方库有点浪费资源,于是@胜利哥 写了一个socket的C实现,然后给我用。我试着把其他几个函数也用C实现,首先看下怎么用C写lua的拓展。 首先是根据Lua C语言的协议写好调用模块,
想在lua中写一个Unity协程效果的函数,延时N秒触发。无奈lua中没有提供封装好的函数调用。 最开始的思路是利用lua的协程,在thread中调用sleep之类的方法,之前做安卓开发的时候就用类似的思路实现的。 结果百度了一圈,网上有四种方法实现sleep的效果。 4种方法转载自 https://blog.csdn.net/charlie_2010/article/details/671...
    //设置要suspend的时间长度     req.tv_sec  = (long) un32Time / 1000;     req.tv_nsec = (long) 1000000 * (un32Time % 1000);     //注意,若线程