Unity3d 创建线程 子线程与主线程通信

创建子线程

一,不带参数

Thread   resourcesLoadThread=new Thread (this.resourceLoadTxt);

resourcesLoadThread.Start();

void resourceLoadTxt(){

}

二,带参数;

第一种:使用ParameterizedThreadStart。

调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程。

Thread   resourcesLoadThread=new Thread (this.resourceLoadTxt);

object  o="wujjjj";

resourcesLoadThread.Start(o);

void resourceLoadTxt(object str){

   // 类型转换

//程序代码

}

线程间通信:

用委托事件,delegate\event

internal  delegate  void ResourceLoadDelegate(string  textStr);

internal  static event  ResourceLoadDelegate resourceLoadDelegate;

 

Thread   resourcesLoadThread;

string  path="/Txt/information";

 

void Start () {

 

resourcesLoadThread=new Thread (this.resourceLoadTxt);

object  o="wujjjj";

resourcesLoadThread.Start(o);

}

 

void resourceLoadTxt(object str){

Debug.Log(str);

 

 

if(resourceLoadDelegate!=null)

  resourceLoadDelegate(str.ToString());

 

resourcesLoadThread.Abort();

}

 

 

posted @ 2013-08-22 16:34  韦斯利yx  阅读(4282)  评论(0编辑  收藏  举报