gpt4 book ai didi

Lua 注册表 : it is shared by threads?

转载 作者:行者123 更新时间:2023-12-04 04:57:02 27 4
gpt4 key购买 nike

Lua 提供了一个 "registry" “任何 C 代码都可以使用它来存储它需要存储的任何 Lua 值”。正如 here 所说,线程“与原始线程共享其全局环境” .但是我找不到任何地方说它是否共享注册表。

所以这基本上是我的问题:如果线程派生自相同的原始状态,它们是否共享可在 LUA_REGISTRYINDEX 访问的表?

最佳答案

Lua 注册表是 lua_State* 的一部分,因此任何使用或包含在给定 Lua_state 中的东西(例如 Lua 线程:协同例程)也将共享其注册表。

Lua 线程(协程)是 lua_State* 的一部分它们是从创建的,因此共享同一个注册表。

操作系统线程将访问与 lua_State* 相关联的任何注册表。传递给 lua_getfield(...) (等)。
请记住,Lua 对 OS 线程的唯一保证是 Lua CAPI 是可重入的并将其所有值存储在 lua_State* 中。 ;这取决于您正确管理状态以避免同时访问和损坏。

关于Lua 注册表 : it is shared by threads?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16625993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com