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

lua sleep函数实现相关推荐

  1. LuaForUnity4:Lua的函数

    一.Lua的函数 代码中有注释 一些重点: Lua的函数可以返回多个结果,你可以将它们赋值给数组 function 函数名(...):函数传入可变参数 select("#", .. ...

  2. 笨木头Lua专栏 函数的几个特别之处

    [笨木头Lua专栏]基础补充02: [木头Cocos2d-x 029]Lua篇(第04章):来点高难度的,获取Lua表结构数据 只是获取一个全局变量什么的太没意思了,今天我们来玩个高难度的--获取Lu ...

  3. Lua的函数参数为table时奇特现象

    前言 今天在工作中使用lua编写代码时发生了一个有趣的现象,特此记录一下. 问题再现 当lua的函数为table时会发生什么情况,话不多说直接上代码: local tb = {1, 2, 3}func ...

  4. Cocos2d-x之回调Lua的函数

    一.编写注册函数 1.1 创建LuaHandler.h,方便其实控件增加该功能. #ifndef __LUAHANDLER_H__ #define __LUAHANDLER_H__#include & ...

  5. 编程小知识之 Lua split 函数

    本文简单介绍了如何在 Lua 中实现 split 函数 Lua 的标准库并没有提供字符串的 split 函数,不过自己实现一下也并不困难,网上其实也早有了很多实现版本: 一个 gist 实现 SO 上 ...

  6. sleep函数c语言实现,C语言拓展实现Lua sleep函数

    这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多 ...

  7. lua延时函数c语言,C语言拓展实现Lua sleep函数

    这几天在做一个小项目,其中用到了一些基本的API,例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多第 ...

  8. lua/require函数

    Lua提供高级的require函数来加载运行库,lua中的require函数功能主要有: 1.require函数会搜索目录加载文件 2.require会判断是否文件已经加载避免重复加载同一文件. 由于 ...

  9. 1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))

    基础 lua_pushnumber (L, 1); lua_pushnumber (L,3); lua_pushnumber (L,4); return 3; c_sprintf(temp, &quo ...

最新文章

  1. 又爱又恨的 Microsoft Edge!
  2. IOS UIScrollView (转)
  3. 如何添加显示桌面图标置于快速启动栏
  4. 基于.NET实现数据挖掘--朴素贝叶斯算法
  5. 函数计算FC让游戏群采集营销数据滴水不漏
  6. [跨平台系列三Docker篇]:ASP.NET Core应用
  7. 活动目录应用篇一:使用windows server 2008 backup备份AD是的账户权限问题
  8. LeetCode 201. 数字范围按位与
  9. oracle命令历史记录,oracle命令历史记录工具(rlwrap)
  10. 人体特征点检测解决方案
  11. PopupWindow 常用方法学习笔记
  12. 提取寄生参数都有哪些流程_齿条齿轮参数都有哪些?
  13. MangoDB索引、排序和聚合
  14. ASCII码与10进制、16进制转换对照表
  15. 影响力最大化 IMRank 我心中的最优算法
  16. 计算机软件如何永久删除,如何彻底删除电脑软件
  17. android重建模拟器,Android建立模拟器进行调试
  18. dogcs2.1 粗略预防CVE-2022-39197 XSS to RCE探究
  19. description是什么意思
  20. 基于L0边缘保持滤波的图像融合 matlab代码

热门文章

  1. 股骨截骨php钢板,股骨远端截骨(DFO)术前设计及手术步骤【附视频】
  2. 架构师之路 — API 经济 — RESTful API 设计规范原则
  3. 5G NGC — SMF 会话管理功能
  4. 互联网协议 — NTP 时间同步协议
  5. 案例 | 华仁药业数字化转型 致远互联打造数字化“中台”一条直线,映射出软件产业发展的辛酸与瓶颈。...
  6. mac下 VisualBox 虚拟机转移到活动硬盘,出现 UUID 错误
  7. Java 内存模型与线程
  8. HashMap的put和get操作
  9. 使用配置hadoop中常用的Linux(ubuntu)命令
  10. 【Android】Eclipse自动编译NDK/JNI的三种方法