【发布时间】:2012-09-01 22:08:35
【问题描述】:
有没有办法知道执行 Lua 脚本的线程(协程)是 lua_pushcclosure 调用的来源?
为了管理一些与 lua 线程相关的东西(延迟暂停/恢复或私有线程变量),我需要识别回调中涉及的线程。我知道我可以在使用 lua_gettop 创建线程索引时获取它,但我找不到使用它的方法,因此它有助于在从 Lua 脚本发出 lua_pushcclosure 调用时识别线程。
我当前的系统允许嵌套脚本调用,因此脚本可以执行其他脚本(每个嵌套脚本调用创建一个具有相同 lua_state 的新线程。因此 lua_state 用于获取堆栈中的多个线程条目。)
我正在使用 Lua 5.2
【问题讨论】:
-
"lua_pushcclosure 回调"
lua_pushcclosure不是回调。你是在说什么时候调用那个函数? -
是的,我说的是何时从 lua 脚本中调用该函数。通过
lua_pushcclosure暴露的函数可以从不同的线程调用,我需要识别是哪一个。