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();

}

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM