2015年1月22日

Lua基础 coroutine —— Lua的多线程编程

摘要: Lua的coroutine跟thread的概念比较相似,但是也不完全相同。一个multi-thread的程序,可以同时有多个thread 在运行,但是一个multi-coroutines的程序,同一时间只能有一个coroutine在运行,而且当前正在运行的coroutine只有在被显式地要求挂起时,... 阅读全文

posted @ 2015-01-22 20:14 冰尨 阅读(1222) 评论(0) 推荐(0)

协同与迭代器

摘要: -----------------------------生产数组的全排列--------------------------------function permgen(a, n) n = n or #a --默认n为a的大小 if n <= 1 then --print... 阅读全文

posted @ 2015-01-22 19:22 冰尨 阅读(188) 评论(0) 推荐(0)

生产者消费者

摘要: producer =coroutine.create(function () --生产者 while true do local x = io.read() --生产新的值 send(x) --发送给消费者 endend)fun... 阅读全文

posted @ 2015-01-22 18:51 冰尨 阅读(155) 评论(0) 推荐(0)

协同程序

摘要: --[[协同程序的四种状态挂起(suspended)、运行(running)、死亡(dead)和正常(normal)status yield --挂起程序coroutine.create(function(a, b, c) --coroutine.resume(co, 1, 2, 3) 分别把1,... 阅读全文

posted @ 2015-01-22 18:40 冰尨 阅读(173) 评论(0) 推荐(0)

导航