From Lua 5.2 参考手册 http://www.lua.org/manual/5.2/manual.html#lua_resume:
int lua_resume (lua_State *L, lua_State *from, int nargs);
[...]
参数from
代表正在恢复的协程L
。如果没有这样的协程,这个参数可以是NULL
.
但它对我来说没什么意义。它到底有什么作用?我在什么情况下must传递除 NULL 以外的任何值?
仅从其他方面来判断源代码 http://www.lua.org/source/5.2/ldo.c.html#lua_resume对于 5.2 来说,似乎from
仅用于正确计算恢复期间嵌套 C 调用的数量。
L->nCcalls = (from) ? from->nCcalls + 1 : 1;
and
lua_assert(L->nCcalls == ((from) ? from->nCcalls : 0));
实施coroutine.resume http://www.lua.org/source/5.2/lcorolib.c.html#auxresume似乎就是这样使用的。
它使用以下命令恢复协程线程上的协程from
正在恢复它的主线程的值。
status = lua_resume(co, L, narg);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)