Unity Jobs System: 包括C# Jobs System和C++ Jobs System,可以结合ECS,也可以单独使用。
Race Condition:竞争条件。
由于两个或者多个进程竞争使用不能被同时访问的资源,使得这些进程有可能因为时间上推进的先后原因而出现问题,这叫做竞争条件(Race Condition)。
竞争条件分为两类:
-Mutex(互斥):两个或多个进程彼此之间没有内在的制约关系,但是由于要抢占使用某个临界资源(不能被多个进程同时使用的资源,如打印机,变量)而产生制约关系。
-Synchronization(同步):两个或多个进程彼此之间存在内在的制约关系(前一个进程执行完,其他的进程才能执行),如严格轮转法。
参考文章:https://blog.youkuaiyun.com/u012562273/article/details/56486776
blittable types:在C#中有一些类型在托管与非托管代码之间可以直接使用,不需要进行任何转换,这些类型就称之为 blittable types
,也就是可以在需要手动释放内存的代码里切换不需要任何转换?
Job只能使用blittable types类型的数据和非托管内存堆上的数据,transform不满足该条件,但Vector3满足。
Job调度分为三种:Run, Schedule,ScheduleParallel这三种。
- run–