Lua协程Coroutine是什么
生活随笔
收集整理的這篇文章主要介紹了
Lua协程Coroutine是什么
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Lua協程Coroutine是什么
協程和線程不同:
- 同一時刻,一個多線程程序可以用多個線程同時執行;而協程只能有一個在執行
- 多線程是搶占式的;而協程是非搶占式的,只有協程顯示被掛起,才會被掛起
協程和線程的相同點:
- 擁有獨立的棧
- 擁有獨立的局部變量
- 擁有獨立的指針
- 共享全局變量
API示例:
-
coroutine.create(func) 通過函數創建一個協程
返回的是一個協程類型 -
coroutine.resume(co, …) 喚醒協程co,后面的參數依次作為協程對應函數的參數
-
coroutine.status(co) 返回協程co的狀態
-
coroutine.yield() 在協程內部執行,掛起當前協程
-
coroutine.running() 獲取當前處于running狀態的協程
-
coroutine.wrap() 創建一個協程,但是返回的是函數類型
總結
以上是生活随笔為你收集整理的Lua协程Coroutine是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS16.4关闭验证,多Bug的iOS
- 下一篇: CocosStudio的节点如何使用自定