2017-03-16 127 views
0

所以我写了一堆Lua脚本,它们都是彼此并行运行的。我编写了一堆编码文件,这样他们就可以编辑文件而不会干扰任何其他正在编辑文件的脚本。每个脚本都以自己的Lua实例运行,并且所有脚本都在同时运行。使多个Lua脚本使用相同的变量表?

但是,我有一堆他们需要共享相同的变量表。因此,如果c[1]的表格条目发生更改,那么其他所有程序都会同时更改它。

现在我知道我可以有一个文件或表格,它们在做任何涉及变量的事情之前检查它们,我知道如何去做,但我想知道如果我可以强制多个程序共享表而不必触发每个更新。

此外,我需要提到的是,我不能简单地使用额外的库。除非您知道使用预编译二进制文件的方式,否则我只能使用普通的Lua库和套接字库。出于我的目的,代码需要完全便​​携,并且可以在任何将我的闪存驱动器插入的Windows计算机上执行。

+0

这些脚本是在相同的Lua VM中运行还是在不同的实例中运行? – Vlad

+0

我认为这意味着它们是彼此并排运行的独立实例。我会更新这个问题。 –

回答

0

那么因为它们是不同的实例,你不能这样交互。但是有一个解决方案。 lua车道:https://github.com/LuaLanes/lanes可用于具有多个独立运行的lua线程,并提供允许共享数据的linda对象。

+0

编辑的问题。 –

+0

@创造的元素如果你使用套接字库,它有点混乱,但是,你可以让每个实例使用一个服务器套接字和一个客户端套接字。这样你可以发送数据到每个实例和从每个实例发送数据为了使这项工作,你将不得不消毒你的表,并发送字符串数据。但是,如果你的操作系统是Windows,你可以有一个预编译的二进制文件和其他库。让我知道你的设置,我会帮你解决这个问题 –

+0

当你问我的设置时,你可能会更具体些。我会用我认为你所要求的信息回答你,但如果你需要更多的信息,你需要更具体。我的猜测是你问我的操作系统是什么(Windows 7)和我使用的是哪个版本的Lua?我正在使用5.1(2?)。我不确定最后一位数字,但我知道前两个数字是正确的。我从他们的站点获得了一个预编译的Lua套接字二进制文件。 –

相关问题