1 local threads = {} 2 function test() 3 for i=1,10,1 do 4 coroutine.yield(i); 5 end 6 end 7 local co = nil; 8 9 for i=1,5,1 do 10 co = coroutine.create(test) 11 table.insert(threads,co) 12 end 13 14 local nCount = 0; 15 16 while true do 17 nCount = table.getn(threads); 18 if 0 == nCount then 19 break; 20 end 21 for k,v in ipairs(threads) do 22 local s,v = coroutine.resume(v) 23 if s then 24 if v then 25 print(k.."_____________________"..v.."___"..os.date()) 26 else 27 print(k.."____v is nil") 28 table.remove(threads,v) 29 end 30 end 31 end 32 end