程序 进程:
主线程 操作Unity相关的对象、组件。。。线程
协程:
概念:伴随着主线程一起运行的一段程序。
注意:协程与协程之间是并行执行,与主线程也是并行执行。
创建协程方法:关键字IEnumerator,返回 Yield Return:1、返回对象(有构造的执行构造)2、等待下一帧继续执行
开启协程:StartCoroutine(执行方法)、StartCoroutine(方法名称)、StartCoroutine(方法名称,参数);
停止协程 StopCoroutine(方法名称)、只能停止用传参字符串串开启的协程、StartCoroutine(方法名称)
WWW
创建下载对象 WWW data = new WWW(下载地址);
等待下载(①Yield return data)、(②While(!data.isDone){yield return 0;})
获取下载资源
文本data.text、图片data.texture、视频data.movie ogg、字节流data.bytes、声音data.audioClip
注意:下载方法必须是协程方法
拓拓展:本地加载资源方式资源必须要放置到Assets/Resources文件夹中加载方法 Resource.Load();
using System.Threading; //线程命名空间
进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。
线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。
协程和线程一样共享堆,不共享栈,协程由程序员在协程的代码里显示调度。
进程和其他两个的区别还是很明显的。
协程和线程的区别是:协程避免了无意义的调度,由此可以提高性能,但也因此,程序员必须自己承担调度的责任,同时,协程也失去了标准线程使用多CPU的能力。
线程:
Thread:创建并控制线程
ThreadStart:创建子线程
Thread thread = new Thread(new ThreadStart(threadTest));
thread.Start();开始
协程:
IEnumerator :所有协程方法必须用这个返回值类型
yield return要返回的值 ;
yield return new WaitForSeconds(3);
协同程序的返回值延迟等待时间3秒
StartCoroutine(corTest());开始协程程序
StartCoroutine ("corTest");同上
StopCoroutine ();停止协程程序
StopAllCoroutines ();停止全部协程程序
WWW:
www.text获取数据
texture:贴图
SetActive:
END