1
我想在兩個車道之間共享一個全局變量,想法是當lane1更新一個共享變量時,我應該能夠在車道2得到預定時獲得它的更新值。有針對這個的解決方法嗎?在Lua車道之間共享一個全局變量
代碼片段如下: -
shared_variable = 0
local function lane1()
..
shared_variable = shared_variable + 1
end
local function lane2()
..
print(shared_variable)-->shared variable is not getting updated,always prints 0
end
Thread1= lanes.gen("*",{globals = _G},lane1)
Thread2= lanes.gen("*",{globals = _G},lane2)
T1 = Thread1()
T2 = Thread2()
T1:join()
T2:join()
感謝Gran..The的解決方案是不是我一直在尋找,這將創建額外的開銷和複雜性進入實施。根據Lua文檔,有一個luaG_deep_userdata()的概念來解決這種問題,但我錯過了如何從文檔中實現它。 – Anoop
@Anoop Deep userdata是一個** Lanes **概念,而不是一個Lua概念。它不會比使用Linda簡單,儘管你想使用'get'和'set'而不是'send' /'receive'(在Lanes doc中搜索':get') – dualed
@dualed我實際上正在使用在回答這個問題時首先得到'set',但是它導致Lua崩潰... –