Skip to content

Windows上的Lua5.3多线程版本:Multiple editon of Lua5.3 for Windows

Notifications You must be signed in to change notification settings

luzhlon/Lua53MT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

声明

源代码来自于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" 注释了.

About

Windows上的Lua5.3多线程版本:Multiple editon of Lua5.3 for Windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages