We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://isshe.site/p/openresty-%E5%8D%8F%E7%A8%8B/
协程 lua-nginx-module 提供了 coroutine 系列 Lua 接口,用于操作协程。 这个与 ngx_http_lua_new_thread 相关的 lua-nginx-module 内部使用的协程不同,切勿搞混了。 这系列函数较为少用,需要并行操作时通常使用轻量级线程(light thread)。 目的: coroutine Lua 接口的使用?主要使用场景? 如前面提到,这个较为少用。lua-nginx-module 支持,主要应该是为了兼容第三方 Lua 模块。 coroutine 是如何实现的? 与 Luajit 的协程是什么关系? 使用 coroutine.create(f):创建一个协程并返回此协程,类型为“thread”,f 必须是一个函数。 coroutine.resume (co [, val1, ···]):开始或继续执行协程 co。如果协程执行出错,则返回 false 和错误信息,如果协程执行正常,返回 true。 首次调用会开始调用 f 函数,val1 等作为参数传递给 f。 后续调用会用 yield 的地方继续,val1 等作为 yield 的结果传递给 f。 coroutine.yield (···):暂停正在执行的协程的执行。传递给 yield 的参数,将作为 resume 额外的结果返回。 coroutine.running ():返回正在运行的协程,主协程正在运行,则返回 nil。 coroutine.status (co):返回协程 co 的状态。 running:协程正在执行 suspended:调用了 yield,或者还没开始运行。 normal:激活但没有在运行,意味着它正在 resume 其他协程。 dead:执行完 f 函数,或者出错了。 coroutine.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
https://isshe.site/p/openresty-%E5%8D%8F%E7%A8%8B/
协程 lua-nginx-module 提供了 coroutine 系列 Lua 接口,用于操作协程。
这个与 ngx_http_lua_new_thread 相关的 lua-nginx-module 内部使用的协程不同,切勿搞混了。
这系列函数较为少用,需要并行操作时通常使用轻量级线程(light thread)。
目的:
coroutine Lua 接口的使用?主要使用场景? 如前面提到,这个较为少用。lua-nginx-module 支持,主要应该是为了兼容第三方 Lua 模块。 coroutine 是如何实现的? 与 Luajit 的协程是什么关系? 使用 coroutine.create(f):创建一个协程并返回此协程,类型为“thread”,f 必须是一个函数。 coroutine.resume (co [, val1, ···]):开始或继续执行协程 co。如果协程执行出错,则返回 false 和错误信息,如果协程执行正常,返回 true。 首次调用会开始调用 f 函数,val1 等作为参数传递给 f。 后续调用会用 yield 的地方继续,val1 等作为 yield 的结果传递给 f。 coroutine.yield (···):暂停正在执行的协程的执行。传递给 yield 的参数,将作为 resume 额外的结果返回。 coroutine.running ():返回正在运行的协程,主协程正在运行,则返回 nil。 coroutine.status (co):返回协程 co 的状态。 running:协程正在执行 suspended:调用了 yield,或者还没开始运行。 normal:激活但没有在运行,意味着它正在 resume 其他协程。 dead:执行完 f 函数,或者出错了。 coroutine.
The text was updated successfully, but these errors were encountered: