Unity之协同程序

本文详细介绍了Unity中的多线程支持情况,强调了新开线程的限制,并着重讲解了协程的概念、作用、使用方法及yieldreturn的不同含义。协程在Unity中的优势在于避免主线程卡顿,尤其适用于异步操作和资源加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 Unity是否支持多线程

//首先要明确一点
//Unity是否支持多线程
//只是新开线程无法访问Unity相关对象的内容

//注意 : Unity中的多线程 要记得关闭
t = new Thread(Test);
t.Start();

//用处:在进行一些寻路算法运算以及网络通信相关内容时,可能会导致主线程卡顿,这个时候使用副线程来处理

二 协同程序是什么

//协同程序简称协程
//它是"假"的多线程 ,它不是多线程

//主要作用
//将代码分时执行,不卡主线程
//简单理解,是吧可能会让主线程卡顿的耗时逻辑分时分步执行

//主要使用的场景:
//异步加载文件
//异步下载文件
//场景异步加载
//批量创建时防止卡顿

三 协同程序和线程的区别

//新开一个线程是独立的一个管道,和主线程并行执行
//新开一个协程是在原线程之上开启,进行逻辑分时分布执行

四 协程的使用

//继承MonoBehavior的类 都可以开启 协程函数
//第一步:申明协程函数
// 协程函数2个关键点
// 1-1 返回值为IEnumerator类型及其子类
// 1-2函数中通过 yield return 返回值;并进行返回

//第二步:开启协程函数
//协程函数不能直接去执行
//MyCoroutine(1, "123");
//常用开启方式
Coroutine  c1 = StartCoroutine(MyCoroutine(1, "123"));
Coroutine  c2 = StartCoroutine(MyCoroutine(1, "123"));
Coroutine  c3 = StartCoroutine(MyCoroutine(1, "123"));

//第三步:关闭协程
//关闭所有协程
StopAllCoroutines();
//关闭指定协
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值