JobSystem的IJob、IJobParallelFor、IJobFor、IJobParallelForTransform

Unity的Job System提供了一种方式,使你能够编写多线程代码来利用现代多核CPU。其中,IJob、IJobParallelFor和IJobFor是三种不同的任务类型。

1. IJob: 这是最基本的工作类型,它表示一个可以在任何时候运行的任务。这个接口只有一个Execute方法,该方法没有参数。当你调度一个IJob时,它将在后台运行,不会阻塞主线程。

2. IJobParallelFor: 这个接口表示一个可以并行执行的任务。它的Execute方法带有一个整数参数,表示当前的迭代索引。当你调度一个IJobParallelFor,Unity将尽可能地在多个线程上并行运行它。

3. IJobFor: 这是Unity 2021.2版本新增的接口,用于处理不需要并行处理的数据。它的Execute方法带有一个整数参数,表示当前的迭代索引。其主要目的是利用Burst编译器优化代码,而不是并行执行任务。

4.IJobParallelForTransform:这是专门用于并行处理Transform组件的Job接口。实现此接口的Job将在多个线程中并行运行。需要实现Execute方法,这个方法的参数是一个int和一个TransformAccess,分别表示当前处理的Transform的索引和引用。注意,修改的transfrom尽量不要同一个父节点,不然处理多个transfrom还是一个线程进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值