Version: 2023.2

AtomicSafetyHandle.SetNestedContainer

切换到手册
public static void SetNestedContainer (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle, bool isNestedContainer);

参数

handle 安全句柄。
isNestedContainer true if the container protected by this AtomicSafetyHandle should be flagged as nested; false otherwise.

描述

Sets or unsets the nested container flag on an AtomicSafetyHandle.

The Job System does not support nested containers (containers where the individual elements inside the container are themselves containers), because it cannot configure the AtomicSafetyHandle instances stored inside the container's elements independently for each job using the container. This means that attempting to use a nested container in a job will not work correctly.

To protect users from using nested containers in jobs and prevent subtle and hard-to-diagnose errors from arising, a container that detects that it is being used to store containers should set the nested container flag on its AtomicSafetyHandle. This will cause the Job Debugger to throw an explicit error when scheduling a job which tries to use a nested container.

Additional resources: AtomicSafetyHandle.GetNestedContainer.