function create_coroutine()
wait.make(function()
while true do
if NotEmpty(Queue) then
Queue[1]()
table.remove(Queue, 1)
else
wait.time(1)
end
end
end)
end
·对于每一个新建的coroutine,永远不让它dead。队列不空时办事,队列空时闲置,大致代码如上。
·用户需要新coroutine时先检查有没有已创建的闲置coroutine,有则不从新创建。
优点:避开了回收环节,猜测可有效解决mush崩溃(其实我没遇到过)问题。
缺点:想到这里时脑壳开始疼,两个字:复杂。致命缺陷还没想到,请各位指教。