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

  其實很簡單,首先須要理解進程和線程是怎麼一回事:進程是Windows系統中的一個基本概念,他包含着運行一個程序所須要的基本資源。一個正在運行的應用程序在操做系統中被視爲一個進程,進程能夠包括一個或多個線程。異步

  進程和線程的區別經過以上,一目瞭然。操作系統

  再談談線程和協程的區別。通常應用一個應用程序只使用線程這一「資源」。線程

須要明確,Unity只使用了一個線程,可是,咱們須要」同時作不少事「,那Unity做爲單線程,該如何component

去作,協程,就來了,協程是一種」僞線程「。協程

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

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

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

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

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

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

相關文章
相關標籤/搜索