Multithreading Lua-协同程序-官方示例
在这个网站上 有一个协同程序的例子 我在没有协同程序的情况下编写了相同的示例,在官方示例中我看不到协同程序的任何优势。在这个例子中使用协同程序有什么好处吗 没有协同程序也一样(我用Multithreading Lua-协同程序-官方示例,multithreading,lua,coroutine,Multithreading,Lua,Coroutine,在这个网站上 有一个协同程序的例子 我在没有协同程序的情况下编写了相同的示例,在官方示例中我看不到协同程序的任何优势。在这个例子中使用协同程序有什么好处吗 没有协同程序也一样(我用math.random替换了io.input) 过滤器中的循环是没有意义的。它只执行过一次。是的,这是正确的,循环中断是因为它返回一个值。我想当我最初读到这个问题时,我假设它是“协同路由的意义是什么”,但再看一遍,我想我可能误读了它。更具体地说,这个例子在某种程度上是否有用(如果没有它们,它也可以写得很好)? loca
math.random
替换了io.input
)
过滤器中的循环是没有意义的。它只执行过一次。是的,这是正确的,循环中断是因为它返回一个值。我想当我最初读到这个问题时,我假设它是“协同路由的意义是什么”,但再看一遍,我想我可能误读了它。更具体地说,这个例子在某种程度上是否有用(如果没有它们,它也可以写得很好)?
local line = 1
function Produce ()
local value = math.random(10)
return value
end
function Filter ()
while true do
local value = Produce()
value = string.format("%3d %s", line, value)
line = line + 1
return value
end
end
function Consum ()
while true do
local value = Filter()
print(value, "\n")
end
end
Consum()