Unity的Job System (1)

Unity Job System 与多线程

Unity 的作业系统允许您创建多线程代码

以便您的应用程序可以使用所有可用的 CPU 核心来执行代码。这样可以提高性能,因为您的应用程序可以更高效地利用其运行的所有 CPU 核心的容量,而不是在一个 CPU 核心上运行所有代码。

Unity 使用自己的本机作业系统通过多个工作线程来处理自己的本机代码,这取决于应用程序运行的设备上可用的 CPU 核心数。通常,Unity 在一个线程上执行您的代码,该线程在程序启动时默认运行,称为主线程。但是,当您使用作业系统时,Unity 会在工作线程上执行您的代码,这称为多线程。

作业是执行一项特定任务的小型工作单元

作业接收参数并对数据进行操作,类似于方法调用的行为方式。作业可以是独立的,也可以依赖于其他作业完成才能运行。在 Unity 中,作业是指任何实现了IJob接口的结构。

只有主线程可以调度和完成作业

它无法访问任何正在运行的作业的内容,并且两个作业不能同时访问一个作业的内容。为了确保作业高效运行,您可以使它们相互依赖。Unity 的作业系统允许您创建复杂的依赖链,以确保您的作业按正确的顺序完成。

作业类型

IJob

IJob:在作业线程上运行单个任务。

IJobParallelFor

IJobParallelFor:并行运行任务。每个并行运行的工作线程都有一个独占索引,以便安全地访问工作线程之间的共享数据。

IJobParallelForTransform

IJobParallelForTransform:并行运行任务。每个并行运行的工作线程都有一个来自转换层次结构的独占转换可供操作。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值