更实用的生产者-消费者模式示例
- -- 生产者
- function producer()
- local i = 0
- return function()
- while true do
- i = i + 1
- coroutine.yield(i) -- 生产一个值并挂起
- end
- end
- end
- -- 消费者
- function consumer(prod)
- for i = 1, 5 do
- local status, value = coroutine.resume(prod)
- print("消费:", value)
- end
- end
- -- 创建生产者协程
- local prod = coroutine.create(producer())
- -- 消费者消费5个值
- consumer(prod)
|