u3d面試題

 線程是操作系統級別的概念,現代操作系統都實現並且支持線程,線程的調度對應用開發者是透明的,開發者無法預期某線程在何時被調度執行。基於此,一般那種隨機出現的BUG,多與線程調度相關。coroutine則是一個概念,windows上有所謂的fiber纖程實現,而好些語言中也自帶coroutine的實現,比如Lua。與線程最大的不同是,coroutine的調度/掛起/執行開發者是可以控制的。另外coroutine也比線程輕量的多。要在語言層面實現coroutine,需要內部有一個類似棧的數據結構,當該coroutine被掛起時要保存該coroutine的數據現場以便恢復執行。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章