簡記:協程和線程區別
協程(協同程序Coroutine): 同一時間只能執行某個協程。開辟多個協程開銷不大。協程適合對某任務進行分時處理。 Unity提供了StartCoroutine來開啟協程,當你在 StartCoroutine 的函數體里處理一段代碼時,利用 yield語句等待執行結果,這期間不影響主程序的繼續執行,可以協同工作。
舉個例子:LoadLevelAsync(異步加載關卡)后臺加載場景的方法。允許你在后臺加載新資源和場景,再利用協同,你就可以在前臺用 loading 條或動畫提示玩家游戲處于加載中,同時后臺協同處理加載的事宜。
進程progress:進程是線程的容器。
線程thread: 同一時間可以同時執行多個線程。開辟多條線程開銷很大。線程適合多任務同時處理,并發并行。
協程:具體多返回點的方法,時間分片(幀),Unity只能是單線程,只能在主線程調用Api,對象