沒有unity裡面的好用
1:建立乙個協程
co = coroutine.create( --返回乙個thread型別
function () --當然 也可以不用匿名函式建立
print("aaa")
--return 1,2 --報錯
coroutine.yield(1,2) --掛起
print("bbb")
coroutine.yield() --掛起
print("ccc")
return 2,3
)--啟動協程
coroutine.resume(co) ---> aaa 返回乙個true 1 2 yield返回的
coroutine.resume(co) ---> bbb 返回乙個true
coroutine.resume(co) ---> ccc 返回乙個true 2 3 return返回的
lua協同程式
co coroutine.create function a print co a end coroutine.resume co,1,2,3 co 1 co coroutine.create function a,b coroutine.yield a b,a b end 在resume呼叫的返回...
初識lua協同程式
協程類似與執行緒,但與執行緒不同,執行緒可以多個執行緒同時執行,但是協程需要彼此協作的執行,乙個具有多個協程的程式任意時刻只能執行乙個協程,並且在執行協程只會在其顯示地要求掛起時,才會暫停。乙個協程有4種不同的狀態 掛起,執行,死亡和正常。建立乙個協程時,他處於掛起狀態。coroutine.stat...
lua協同程式理解
參考 協程和多執行緒下的執行緒類似 有自己的堆疊,自己的區域性變數,有自己的指令指標,但是和其他協程程式共享全域性變數等資訊。執行緒和協程的主要不同在於 多處理器的情況下,概念上來說多執行緒是同時執行多個執行緒,而協程是通過協作來完成,任何時刻只有乙個協程程式在執行。並且這個在執行的協程只有明確被要...