我在lua做了一些並行操作。一個用於接收的線程,一個用於處理,另一個用於再次發送。爲了在線程間傳遞數據,我一直使用表。lua中的多值表
不幸的是,現在我需要通過多個變量。如何在不影響性能的情況下創建一個「多值表」(一個表中每個鍵可以有多個值的表)?是否有比使用表更高效的方法?
簡化代碼到目前爲止:
sendQueue = {}
processQueue = {}
function recieveLoop()
while true do
Wait For recieve
table.insert(processQueue, recievedText)
end
end
function processLoop(sender, text, raw)
while true do
for key,value in pairs(processQueue) do
processData
table.insert(recieveQueue, raw)
end
end
end
然後同樣爲receiveLoop
所有這些3個功能是帶螺紋的,並彼此獨立地運行。