Lua微秒级睡眠。
2015-5-26 6:47:9
收藏:0
阅读:75
评论:2
好的,我需要在我的 Lua 脚本中等待 10 微秒,有没有办法做到?
目前,我使用这个简单的(非忙等待)函数使用 socket:
function my_utils.sleep(sec)
socket.select(nil, nil, sec)
end
但是它似乎 “休眠最小值” 是毫秒。
示例 1:
for x=0,2*math.pi,0.008 do
misc.printus()
misc.sleep(0.001)
end
输出:
0.022654
0.023654
0.024654
0.025654
0.026654
0.027654
0.028654
0.029654
0.030654
0.031654
0.032654
...
不错!
示例 2:
for x=0,2*math.pi,0.008 do
misc.printus()
misc.sleep(0.0001)
end
输出:
0.537089
0.537089
0.537089
0.537089
... --(大量)
38089
0.538089
0.538089
0.538089
0.538089
0.538089
0.538089
... --(大量)
0.538089
0.577091 --(跳了0.04秒!)
0.577091
0.577091
0.577091
0.577091
... --(等等)
有人能给我一些解释(以及关于0.04秒的跳跃)吗?
点赞
用户2765603
除了操作系统时间的抖动外,lua使用垃圾收集器来管理其内存,该收集器将定期运行。在其运行过程中,所有其他操作都会延迟(尽管延迟应该相当短)。根据程序中的分配量,很可能您的代码会在这种GC暂停时发生错误。
2015-05-26 08:47:28
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
Lua使用操作系统提供的时间服务。可用的分辨率通常不是很高,而且在Lua层面上被认为是时间跳跃。
想象一个带有分钟分辨率的挂钟。它无法用来测量毫秒间隔。