當前位置:商標查詢大全網 - 網遊競技 - 線程和協程有什麽區別呢?

線程和協程有什麽區別呢?

協同程序(coroutine)與多線程情況下的線程比較類似:有自己的堆棧,自己的局部變量,有自己的指令指針(IP,instruction pointer),但與其它協同程序***享全局變量等很多信息。

協程(協同程序): 同壹時間只能執行某個協程。開辟多個協程開銷不大。協程適合對某任務進行分時處理。

線程: 同壹時間可以同時執行多個線程。開辟多條線程開銷很大。線程適合多任務同時處理。

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

2.線程,多線程是阻塞式的,每個IO都必須開啟壹個新的線程,但是對於多CPU的系統應該使用thread,尤其是有大量數據運算的時刻,但是IO密集型就不適合;而且thread中不能操作unity的很多方法和component