Unity 協程和線程,進程的區別


  其實很簡單,首先需要理解進程和線程是怎么一回事:進程是Windows系統中的一個基本概念,他包含着運行一個程序所需要的基本資源。一個正在運行的應用程序在操作系統中被視為一個進程,進程可以包括一個或多個線程。

  進程和線程的區別通過以上,一目了然。

  再談談線程和協程的區別。一般應用一個應用程序只使用線程這一“資源”。

需要明確,Unity只使用了一個線程,但是,我們需要”同時做很多事“,那Unity作為單線程,該如何

去做,協程,就來了,協程是一種”偽線程“。

協同程序(coroutine).,即協作式程序,一系列互相依賴的協程間依次使用CPU,每次只有一個協程工作,而其他協成處於休眠狀態。協程實際上是在一個線程中,只不過每個協程對CPU進行分時,協程可以訪問和使用unity的所有方法和component。

    同一時間只能執行某個協程,協程適合對某個任務進行分時處理。

    控制代碼在特定的時間執行。

    協程不是線程,也不是異步執行,跟Update一樣,在主線程中執行。

    不用考慮同步和鎖的問題。

    協程是一個分部組件,遇到條件(yield return)會掛起,直到條件滿足才會被喚起執行后面的語句。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM