sleep

简介: sleep

Lua 语言没有内置的 Sleep 函数, 有 4 种方法可以实现 Sleep 函数功能:


死循环

Warning

强烈不推荐使用。


在一个死循环中设置一个跳出条件,但是这样的做法会占用大量 CPU 资源。

function Sleep(n)
  local t0 = os.clock()
  while os.clock() - t0 <= n do end
end点击复制复制失败已复制


调用系统Sleep函数

提示

推荐在 Linux 系统中使用该方法


这种方法不消耗 CPU ,但是 Windows 系统中没有内置这个命令(或者使用 Cygwin )。

function Sleep(n)
  os.execute("sleep " .. n)
end点击复制复制失败已复制


ping

虽然Windows没有内置Sleep命令,但是利用ping命令的性质。

function Sleep(n)
  if n > 0 then os.execute("ping -n " .. tonumber(n + 1) .. " localhost > NUL") end
end点击复制复制失败已复制


socket.select

使用 socket 库中 select 函数, 可以传递 0.1n , 使得休眠的时间精度达到毫秒级别。

‍require("socket")
function Sleep(n)
  socket.select(nil, nil, n)
end
Iric
+关注
目录
打赏
0
0
0
0
12
分享
相关文章
C/C++ 性能优化思路
C/C++ 性能优化思路
162 0
【Shell 命令集合 系统管理 】Linux 切换当前用户身份为另一个用户 su命令 使用指南
【Shell 命令集合 系统管理 】Linux 切换当前用户身份为另一个用户 su命令 使用指南
417 1
ECS权益问题之学生权益无法续费如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
QString格式化的几种用法:补零/进制转换/保留小数位等
QString格式化的几种用法:补零/进制转换/保留小数位等
2986 0
BackTrader 中文文档(二十一)(4)
BackTrader 中文文档(二十一)
155 0
VLC源码解析:视频播放速度控制背后的技术
VLC源码解析:视频播放速度控制背后的技术
949 0
可变参数宏__VA_ARGS__和...
__VA_ARGS__ 是一个可变参数的宏(gcc支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。
2638 0
leetcode-233:数字 1 的个数
leetcode-233:数字 1 的个数
86 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问