Lua - coroutines - 官方的例子

时间:2015-06-16 14:10:46

标签: multithreading lua coroutine

在这个网站上 http://www.lua.org/pil/9.2.html有一个协程的例子。

我在没有协同程序的情况下编写了相同的示例,在官方示例中我没有看到协同程序的任何优势。在这个例子中使用协同程序是否有优势呢?

同样没有协程(我将io.input替换为math.random

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()

0 个答案:

没有答案