lua sleep函数实现
一个不幸的消息是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函数实现相关推荐
- LuaForUnity4:Lua的函数
一.Lua的函数 代码中有注释 一些重点: Lua的函数可以返回多个结果,你可以将它们赋值给数组 function 函数名(...):函数传入可变参数 select("#", .. ...
- 笨木头Lua专栏 函数的几个特别之处
[笨木头Lua专栏]基础补充02: [木头Cocos2d-x 029]Lua篇(第04章):来点高难度的,获取Lua表结构数据 只是获取一个全局变量什么的太没意思了,今天我们来玩个高难度的--获取Lu ...
- Lua的函数参数为table时奇特现象
前言 今天在工作中使用lua编写代码时发生了一个有趣的现象,特此记录一下. 问题再现 当lua的函数为table时会发生什么情况,话不多说直接上代码: local tb = {1, 2, 3}func ...
- Cocos2d-x之回调Lua的函数
一.编写注册函数 1.1 创建LuaHandler.h,方便其实控件增加该功能. #ifndef __LUAHANDLER_H__ #define __LUAHANDLER_H__#include & ...
- 编程小知识之 Lua split 函数
本文简单介绍了如何在 Lua 中实现 split 函数 Lua 的标准库并没有提供字符串的 split 函数,不过自己实现一下也并不困难,网上其实也早有了很多实现版本: 一个 gist 实现 SO 上 ...
- sleep函数c语言实现,C语言拓展实现Lua sleep函数
这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多 ...
- lua延时函数c语言,C语言拓展实现Lua sleep函数
这几天在做一个小项目,其中用到了一些基本的API,例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多第 ...
- lua/require函数
Lua提供高级的require函数来加载运行库,lua中的require函数功能主要有: 1.require函数会搜索目录加载文件 2.require会判断是否文件已经加载避免重复加载同一文件. 由于 ...
- 1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))
基础 lua_pushnumber (L, 1); lua_pushnumber (L,3); lua_pushnumber (L,4); return 3; c_sprintf(temp, &quo ...
最新文章
- 又爱又恨的 Microsoft Edge!
- IOS UIScrollView (转)
- 如何添加显示桌面图标置于快速启动栏
- 基于.NET实现数据挖掘--朴素贝叶斯算法
- 函数计算FC让游戏群采集营销数据滴水不漏
- [跨平台系列三Docker篇]:ASP.NET Core应用
- 活动目录应用篇一:使用windows server 2008 backup备份AD是的账户权限问题
- LeetCode 201. 数字范围按位与
- oracle命令历史记录,oracle命令历史记录工具(rlwrap)
- 人体特征点检测解决方案
- PopupWindow 常用方法学习笔记
- 提取寄生参数都有哪些流程_齿条齿轮参数都有哪些?
- MangoDB索引、排序和聚合
- ASCII码与10进制、16进制转换对照表
- 影响力最大化 IMRank 我心中的最优算法
- 计算机软件如何永久删除,如何彻底删除电脑软件
- android重建模拟器,Android建立模拟器进行调试
- dogcs2.1 粗略预防CVE-2022-39197 XSS to RCE探究
- description是什么意思
- 基于L0边缘保持滤波的图像融合 matlab代码
热门文章
- 股骨截骨php钢板,股骨远端截骨(DFO)术前设计及手术步骤【附视频】
- 架构师之路 — API 经济 — RESTful API 设计规范原则
- 5G NGC — SMF 会话管理功能
- 互联网协议 — NTP 时间同步协议
- 案例 | 华仁药业数字化转型 致远互联打造数字化“中台”一条直线,映射出软件产业发展的辛酸与瓶颈。...
- mac下 VisualBox 虚拟机转移到活动硬盘,出现 UUID 错误
- Java 内存模型与线程
- HashMap的put和get操作
- 使用配置hadoop中常用的Linux(ubuntu)命令
- 【Android】Eclipse自动编译NDK/JNI的三种方法