Lua53MT
Windows上的Lua5.3多线程版本:Multiple editon of Lua5.3 for Windows
Install / Use
/learn @luzhlon/Lua53MTREADME
声明
源代码来自于Lua官方网站,经过我的简单修改,使Lua成为支持多线程的脚本
#使用 systhread.create(startFunc, ...) --创建一个系统线程 参数1(startFunc): 系统线程的入口函数 参数(...): 要传给函数的参数 返回值: 成功,返回一个包含系统线程信息的userdata;失败,返回false. 注意: 线程创建后处于挂起状态
systhread.resume(systhr) --恢复一个系统线程的执行 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 返回值: 成功,返回resume的次数;失败,返回false. 注意: NULL
systhread.suspend(systhr) --挂起一个线程 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 返回值: 成功,返回suspend的次数;失败,返回false. 注意: NULL
systhread.terminate(systhr) --终止一个线程 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 返回值: 成功,返回true;失败,返回false. 注意: NULL
systhread.wait(systhr, [millisec]) --等待一个线程执行结束 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 参数2(millisec): 等待的时间(毫秒);如果不指定,则为INFINITE (无穷大) 返回值: 无返回值. 注意: NULL
systhread.exitcode(systhr) --等待一个线程执行结束 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 返回值: 成功,则返回线程的退出码(exitcode) 注意: 失败,若线程还在运行,返回false;其它的情况,返回nil
systhread.getid(systhr) --获取一个系统线程的ID 参数1(systhr): 通过systhread.create 创建的系统线程(userdata). 返回值: 成功,则返回线程的ID 注意: NULL
systhread.sleep(millisec) --使所在线程休眠 参数1(millisec): 等待的时间(毫秒) 返回值: 无返回值. 注意: NULL
改动
在全局表中加入了systhread这个表,即所有操作'系统(抢先式)线程的功能都封装在了这个表里; 所有的改动都在源代码中用 "//ADDED BY LUZHLON" 注释了.
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
