lua5.3.4在Windows下多线程
作者:Mrzhu007
日期:2018-04-15
博客地址:金色世界
简介
之前做的一个测试项目。在使用lua脚本对一些固件测试的时候,需要lua满足多线程。来进行同步检测
实现
该方案由网友提供,在github上也可以下载。在使用过程中,有一些bug已进行修改。适配与lua5.3.4版本.
以防以后忘掉,故整理成文档。各位网友喜欢的话不妨拿去使用。我只在测试项目中使用。
在使用多线程的时候请让线程自己终止,或者使用lua变量外界控制。
不要使用库中提供的终止线程函数。有问题,但不影响使用,就没改。
- 第一步GitHub下载最新lua源码
第二步添加一下.c文件名字自己取建议systhread。将下面的源码复制进去
#include <Windows.h> #include "lua.h" #include "lauxlib.h" #include "lualib.h" #include "lstate.h" #define TNAMESTR_SYSTHREAD "g_utype_systhread"// userdata type name typedef struct _SysThread { lua_State *thread; int ref;//在C注册表中的引用,防止被回收 DWORD id; HANDLE handle;