0

我在 lua 方面有一些经验,但现在我面临的挑战是我可以有最简单的解决方案,如果只有主题声明是可能的。

问题

简而言之,程序(程序集)要通过lua连接起来,形成某种IPC。现在,我可以在它们中的每一个上创建 Lua 状态,但是我仍然需要使用 Lua-Lua IPC。我可以做到,但我想如果我可以只创建一个实例,并可以从所有这些应用程序中访问它,我就可以大大简化这个过程。

现在我知道中央 lua 应用程序需要以线程安全的方式编写。作为第一种天真的方法,我想将来自所有应用程序的数据排队,然后使用协程来解决事件。

问题(分成几部分):

  1. 正在使用可能来自多个“主机”的本机 API 调用访问一个 Lua 状态
  2. 如果是,它怎么做,我必须确保我做什么,以确保它能够正确运行。
  3. 如果不是,这几乎可以解决问题,因为我将尝试使用 Lua IPC,它非常适合谷歌搜索。

编辑1: 我现在正在挖掘不同的lua“通信”库,但真的找不到。问题的第 3 点现在更有价值,因为我现在被困在 localhost TCP + JSON 上。

4

1 回答 1

0

Lua 在 a 内不是线程安全的lua_State(跨线程使用多个单独lua_State的 s 是安全的,但不能在不同线程中访问同一个)。因此,即使 API 有一些进程间通信的东西,它也不会在多个进程访问它时工作。

于 2012-04-23T10:17:46.313 回答