携程、回调的使用

多线程

真正的并行,在不同的cpu核心内,同时处理不同行为

 

携程

 


//执行方法
StartCoroutine( fun() ); //携程方法 IEnumerator fun(  ){   //延迟一定时间
  yield return new WaitForSeconds(10);
  Debug.Log("等待了一定时间后");
  //等待数据加载完成
  ResourceRequest r = Resources.LoadAsync("方圆500米山脉");
  yield return r;
  //等待网络请求结果
  UnityWebRequest r = UnityWebRequest.Get("www.baidu.com");
  yield return r.SendWebRequest();
}

回调

 

//普通回调方式
delegate void
Call();
Call phoneCall;
phoneCall.Invoke();


//调用
StartCoroutine(Coro(fun));
//带参方法
void fun(string start){
  Debug.Log(start);
}

//Unity封装的回调Action
Ienumerator Coro(Action callback){
  yield return null;
  callback.Invoke();
}
Ienumerator Coro(Action<string> callback){
  yield return null;
  callback.Invoke("调用完成");
}
 

 

posted @ 2022-10-09 16:08  七修天  阅读(122)  评论(0)    收藏  举报