调用系统的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函数,有4种方法可以实现Sleep函数功能,如下:方法1  在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用.function Sleep(n)   local t0 = os.clock()   while os.clock() - t0 <= n do endend方法2  调用系统的Sleep函数...
想在lua写一个Unity协程效果的函数,延时N秒触发。无奈lua没有提供封装好的函数调用。
最开始的思路是利用lua的协程,在thread调用sleep之类的方法,之前做安卓开发的时候就用类似的思路实现的。
结果百度了一圈,网上有四种方法实现sleep的效果。
4种方法转载自 https://blog.csdn.net/charlie_2010/article/details/671...
A common need is to pause (sleep) a program for a certain number of seconds, preferably without busy waiting.
				
这几天在做一个小项目,其用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库没有提供这些接口,虽然所第三方库也都有实现,但是要用的就那么几个函数,在一个嵌入式系统安装那么多第三方库有点浪费资源,于是@胜利哥 写了一个socket的C实现,然后给我用。我试着把其他几个函数也用C实现,首先看下怎么用C写lua的拓展。 首先是根据Lua C语言的协议写好调用模块,
Lua原生不支持sleep功能,在Linux可以按如下实现: function sleep(n) os.execute("sleep " .. n) sleep(5) print("Hello World!")