2017-03-16 43 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套接字二進制文件。 –

相關問題