luaでいくつかの並列操作を行っています。1 つは受信用、1 つは処理用、もう 1 つは再送信用です。スレッド間でデータを渡すために、テーブルを使用しています。
悲しいことに、今は複数の変数を渡す必要があります。パフォーマンスにあまり影響を与えずに「複数値テーブル」(キーごとに複数の値を持つことができるテーブル) を作成するにはどうすればよいですか? また、テーブルを使用するよりも効率的な方法はありますか?
これまでの簡略化されたコード:
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 つの関数はすべてスレッド化され、互いに独立して実行されます。