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