[编程]lua有暂停运行的函数吗?

lua运行时,可以运行到某处暂缓100毫秒,然后再继续运行吗?我设置了一个循环体,通过对os.clock不断比较来控制是否退出循环运行下面的代码。问题在于这样太耗cpu了... lua运行时,可以运行到某处暂缓100毫秒,然后再继续运行吗? 我设置了一个循环体,通过对os.clock不断比较来控制是否退出循环运行下面的代码。问题在于这样太耗cpu了,一个30毫秒要循环几十万次。 手机提问,还不知道会被丢到哪个版块。 展开
 我来答
太阳神
2013-02-16 · 超过16用户采纳过TA的回答
知道小有建树答主
回答量:41
采纳率:0%
帮助的人:44.2万
展开全部
如果你是在 Linux 环境下,可以使用如下方法:
os.execute("sleep 0.1s")

如果你是在 Windows 环境下,推荐使用 w32wrappers (https://github.com/luaforge/w32wrappers)
可以使用其中的 w32.Sleep(100) 方法。
我都知道了哦
2013-02-11 · TA获得超过1764个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:753万
展开全部
LUA里面没有pause/sleep之类的函数。
这是因为LUA是用 ANSI C实现的, ANSI C里面没有暂停,所以LUA里面也没有。

下面是一种比较消耗CPU的方法:
local clock = os.clock
function sleep(n)-- seconds
local t0 = clock()
while clock()- t0 <= n do end
end

下面是Windows底下通过调用Windows Host Script的一种方法:
function sleep(n)
local vb = "test.vbs"
local f = assert(io.open(vb,"w"))
f:write("WScript.Sleep(" .. (tonumber(n) * 1000) .. ")\n")
f:close()
os.execute(vb)
end

此外,也可以通过调用ping命令来实现这个功能:
function sleep(n)
if n > 0 then
os.execute("ping -n " .. tonumber(n+1) .. " localhost > NUL")
end
end
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mick1223
2013-02-24 · TA获得超过171个赞
知道答主
回答量:130
采纳率:100%
帮助的人:46.1万
展开全部
Lua的Socket中有这个的啊...不要用那种脑残办法暂停啊 = =

require"socket"
socket.sleep(0.1) --0.1s=100ms

这样多好啊= =
更多追问追答
追问
不行啊
attempt to call global 'require' (a nil value)
追答
啊喂= =
require函数怎么可能没有= =
require是Lua里面很基本的一个函数,用来加载外部库的= =
你再试试看= =
上面给出的两个函数都是浪费资源的,一个操作了一次文件,一个调用了控制台
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
persianC123
2013-03-16 · TA获得超过3000个赞
知道小有建树答主
回答量:8777
采纳率:0%
帮助的人:2137万
展开全部
LUA没有任何停顿/睡眠功能。
这是因为Lua是在ANSI C,ANSI C实现,没有停顿,没有LUA内。

以下是CPU密集型的方法:

本地时钟= os.clock

功能休眠(N) - 秒

当地T0 =时钟() />时钟() - T0 = N年底

结束

下面的视窗

功能休眠通过调用Windows主机脚本:(N)

当地VB =“Test.vbs的”

当地F =(io.open(VB,“W”))

传真:写(“WScript.Sleep(”..(tonumber(N)* 1000 )..“)\ n”)

传真:关闭()

os.execute(VB)

结束

此外,还可以调用ping命令实现这样的功能:功能休眠(N)

如果n> 0,则

os.execute(“平-N .. tonumber(N +1)的”localhost> NUL “)

的末尾
结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式