当前位置: 首页 > 编程笔记 >

Lua中实现sleep函数功能的4种方法

商瀚
2023-03-14
本文向大家介绍Lua中实现sleep函数功能的4种方法,包括了Lua中实现sleep函数功能的4种方法的使用技巧和注意事项,需要的朋友参考一下

一个不幸的消息是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

 类似资料:
  • 本文向大家介绍C语言拓展实现Lua sleep函数,包括了C语言拓展实现Lua sleep函数的使用技巧和注意事项,需要的朋友参考一下 这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多第三方库有点浪费资源,于是@胜利哥 写了一个socket的C实现

  • 本文向大家介绍nodejs中实现sleep功能实例,包括了nodejs中实现sleep功能实例的使用技巧和注意事项,需要的朋友参考一下 nodejs最让人不爽的就是其单线程特性,很多事情没法做,对CPU密集型的场景,性能也不够强劲。很长一段时间,我想在javascript语言框架下寻求一些解决方案,解决无法操作线程、性能差的问题。曾经最让我印象深刻的方案是fibers,不过fibers也好,其他方

  • 本文向大家介绍使用lua实现php的print_r()函数功能,包括了使用lua实现php的print_r()函数功能的使用技巧和注意事项,需要的朋友参考一下 之前写了一些类似php的函数,下面再来一个print_r()函数,代码如下:

  • 本文向大家介绍使用lua实现php的var_dump()函数功能,包括了使用lua实现php的var_dump()函数功能的使用技巧和注意事项,需要的朋友参考一下 习惯了php中的var_dump()函数,而如今写lua的时候总习惯使用var_dump()函数,于是就自己动手写了一个类似功能的var_dump()函数。

  • 本文向大家介绍Lua中实现StringBuffer功能,包括了Lua中实现StringBuffer功能的使用技巧和注意事项,需要的朋友参考一下 在Lua中,字符串是一个常量,如果用字符串连接符“..”把2个字符串连接起来,例如first_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个

  • 本文向大家介绍PHP中利用sleep函数实现定时执行功能实现代码,包括了PHP中利用sleep函数实现定时执行功能实现代码的使用技巧和注意事项,需要的朋友参考一下 在一些竞猜的网站中,如果我们需要做一个定时执行的功能,比如有一道题,在十秒之内要完成,否则显示“您已超时”,如果完成,则跳转到下一道题上面,而这中间有一个十秒的停顿,这样的功能是怎样实现的呢? 在PHP中,有一个sleep函数,大概意思