Lua标准库 - 协同程序处理

开发 前端
协同程序处理库是lua标准库的子类库,可以视作线程使用。

协同程序处理库是lua标准库的子类库,可以视作线程使用

1、coroutine.create (f)

功能:建立一个新的协同程序,f为入口函数,返回一个"thread"的值

2、coroutine.resume (co [, val1, ···])

功能:第一次调用resume时,将要启动线程,val1...为传入f的参数

当线程因调用yield挂起,可以用resume继续运行线程,val1...为最近一次调用yield的返回值

co为coroutine.create (f)返回的值

当resume出错返回时,resume返回false加错误信息;否则返回true加传回yield的值(当线程挂起)

3、coroutine.running()

功能:返回正在进行的线程,在主线程调用将返回nil

4、coroutine.status(co)

功能:返回指定线程的当前状态

"running":正在运行

"suspended":因调用yield而被挂起或者线程还没有启动

"normal":线程是活动的但没有启动

"dead":当线程已运行完毕或发生错误而停止

5、coroutine.wrap(f)

功能:以函数方式建立一个新线程,f为入口函数。返回值为一个函数,每次调用都将会自动启动线程,出错信息会反射给调用者

6、coroutine.yield (···)

功能:挂起正在执行的线程,线程不能执行C函数、元表方法、迭代器,所以传给yield的参数都会作为最近一次调用resume的返回值

原文链接:http://tech.it168.com/j/2008-02-17/200802171033951.shtml

责任编辑:陈四芳 来源: 来自ITPUB论坛
相关推荐

2011-08-29 16:37:21

Lua协同线程

2013-12-12 16:59:15

Lua表处理

2013-12-12 17:03:57

Lua脚本语言

2013-12-12 17:08:24

Lua字符串

2013-12-03 17:28:56

Lua脚本语言

2013-12-12 17:21:46

Lua出入输出

2013-12-03 17:32:05

Lua脚本语言

2010-01-19 09:39:43

C++标准程序库

2010-01-19 09:39:43

C++标准程序库

2010-01-14 09:43:26

C++标准程序库

2010-01-15 14:59:54

C++标准程序库

2010-01-19 18:04:02

C++标准程序库

2013-12-12 16:30:20

Lua脚本语言

2011-08-22 17:41:23

LUA 脚本 语言

2024-10-22 14:04:18

2016-04-12 14:28:16

程序员面试标准

2016-04-12 13:58:48

答案面试程序员

2023-03-03 10:26:49

Python内建库模块

2011-08-25 10:15:02

Lua安装函数

2017-05-10 09:00:02

司法部信息化标准
点赞
收藏

51CTO技术栈公众号