unity 线程库 Loom 的初步使用

  第一步当然是导入Loom包 LOOM - Multi Threading Framework.unitypackage。 可以到Asset 商店下载。

 不需要using 什么的就可以使用了。


1.开启一个线程执行某个函数

  Loom.StartSingleThread(LoadNet, System.Threading.ThreadPriority.Normal, true);


  void LoadNet()
{

PoNet.Client=new PomeloClient(PoNet.host,PoNet.port);
PoNet.Client.connect (null, (data) => {
JsonObject msg = new JsonObject ();
msg ["uid"] = "shenzhan";
PoNet.Client.request ("gate.gateHandler.getConnectorList", msg, OnGetServerList);

  });
}


2. 非主线程中要修改UI时,需要把要执行的代码切换到主线程中。

Loom.DispatchToMainThread(()=>{
loading.SetActive(false);
print ("finish");
for(int j=0;j<3;++j)
{
servers[j].text="server "+names[j];
servers[j].Commit();
}

});

需要主要的是 以上代码需要在Loom的开启的线程中调用,否则会出错。(个人理解)

你可能感兴趣的:(Unity)