Lua - 多线程编程
2015-3-31 14:45:55
收藏:0
阅读:131
评论:1
在下面的代码中,我从设备读取值,为其添加时间戳,并通过电子邮件发送字符串。函数“send_email()”需要3分钟,并阻止其余代码的工作。 因此,我的目标是在另一个线程或类似的线程中执行函数“send_email()”,以便收集的数据集之间没有3分钟的间隙。因为在这段时间内不会收到新数据,但我需要收集全部数据。
它应该输出:value_10:30:00 - > value_10:30:10 - > value_10:30:20 ...
不是:value_10:30:00 - > value_10:33:10 - > value_10:36:20 ...
请注意,以下代码是伪代码。
``` 功能主()
时间= get_time() - 打印时钟时间(格式:小时,分钟,秒) mystring = read_value_from_device() mystring = mystring ..“_” ..时间
send_email(mystring) - 发送电子邮件(这需要最多3分钟!)
sleep(10) - 睡眠10秒
主() - 再次调用功能 内部
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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中获取用户配置主目录的跨平台方法
存在许多线程库(如 LuaLanes,lua-llthreads)。 我使用我的 lua-llthreads2/lua-lzmq。
local zthreads = require "lzmq.threads" -- 创建一个具有新 Lua 状态的单独 OS 线程 local thread = zthreads.xactor(function(pipe) ----------------------------------------------------- -- !!!不要使用主 Lua 状态中的 upvalues!!! -- ----------------------------------------------------- while true do -- 使用 pipe 获取下一个消息 local msg = pipe:recv() if not msg then break end print("线程代码:", msg) end end):start() for i = 1, 10 do -- 向线程发送新消息 thread:send("消息 #" .. i) end使用此代码,您还具有消息队列。 但是,如果您生成的消息比发送它们快,您最终会得到应用程序崩溃,没有内存错误。