- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 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 个函数都是线程化的,并且彼此独立运行。
最佳答案
表可以包含其他表,因此您可以在每条消息中存储所需数量的变量。
代替:
table.insert(queue, datum1)
你可以拥有:
local message = {datum1, datum2}
table.insert(queue, message)
或者简单地说:
table.insert(queue, {datum1, datum2})
根据需要在消息中包含尽可能多的“部分”。在接收端,可以通过索引来查看消息部分:
print('foo:', message[1], 'bar:', message[2])
或者解压元素:
local foo, bar = unpack(message) -- this is `table.unpack` in Lua 5.2
print('foo:', foo, 'bar:', bar)
或者您可以在消息中使用命名字段:
local message = {
foo = datam1,
bar = datum2,
}
table.insert(queue, message)
等等等等。
关于lua - lua中的多值表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627548/
我需要一个可以解决以下问题的java程序: 1-它有一个数据结构(DS)来表示以下数据,其中行和列由字符串索引,单元格值是 boolean 值。 因此,要访问第 (i) 行,我可以简单地说 DS["Y
我有一些 SQL 表,一张用于用户,一张用于配置,一张用于用户配置的键/值。 我想要做的是,当向用户表添加新条目时,我想用一行填充配置表中所有可用配置行的键/值表。 因此,如果配置表具有以下行: Se
我继承了一个 mysql 数据库,该数据库有一个包含如下列的表: object_id, property, value 它保存这样的数据: 1,first_name,Jane 1,last_name,
我正在使用这个查询来连接我的学生表和出勤表, 我的问题是,有时出勤表没有值(value)。 它没有返回任何值。 0){ while($row=mysqli_fetch_assoc($r
我正在使用一个执行以下查询的 wordpress 网站,但我看到这个查询正在执行许多内部连接,并且该网站需要很长时间才能加载并且下降很多,我一直在尝试创建一个产生的查询同样的结果,但还没有成功 我想知
我正在使用一个执行以下查询的 wordpress 网站,但我看到这个查询正在执行许多内部连接,并且该网站需要很长时间才能加载并且下降很多,我一直在尝试创建一个产生的查询同样的结果,但还没有成功 我想知
我正在使用一个正在执行以下查询的wordpress网站,但我看到这个查询正在执行许多内部联接,并且该网站需要很长时间才能加载并且出现故障,并且我一直在尝试创建一个生成的查询结果相同,但尚未成功 我想知
这是我的 EAV 表结构(我知道 EAV 很糟糕,但我需要存储的属性数量超过一万个,因此规范化表不起作用) Table name - propertyAssign entityId - int - i
我是一名优秀的程序员,十分优秀!