Loom工具類:Unity3D巧妙處理多線程


Loom代碼不多,只有168行, 然而卻具備了子線程運行Action, 子線程與主線程交互的能力!

public static Thread RunAsync(Action a)

public static void QueueOnMainThread(Action action)

public static void QueueOnMainThread(Action action, float time)

 

首先Loom類繼承自MonoBehaviour,第一次使用靜態的Loom.Current時,就會判斷,是否初始化(其實就是將Loom 掛載到 一個自己創建的GameObject上),這樣,QueueOnMainThread放進來的action就可以在每一幀回調的Update方法進行action調用。

RunAsync用線程池,運行在子線程中。 使用的時候, 當子線程的工作完成后, 可以在后面加一句Loom.QueueOnMainThread()實現線程切換!

 


免責聲明!

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



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