版本:Unity 6 (6000.0)
语言English
  • C#

AtomicSafetyHandle.CheckGetSecondaryDataPointerAndThrow

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void CheckGetSecondaryDataPointerAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle);

参数

handle 要检查的 AtomicSafetyHandle。

描述

检查是否可以安全地创建对原生容器的内存别名视图。

当您实现创建内存别名视图的原生容器方法(例如 GetEnumeratorAsArray)时,请使用此方法。此方法检查是否可以安全地将数据指针复制到原生容器的后备内存中,复制到使用辅助版本号的新视图结构中。

此方法检查是否存在可能影响原生容器大小并可能重新分配容器后备内存的挂起作业。如果作业通过使用辅助版本号的 AtomicSafetyHandle 写入数据,则此方法不会抛出异常。

此方法与 `AtomicSafetyHandle.CheckReadAndThrow` 之间的区别在于,CheckReadAndThrow 会在有任何挂起作业写入原生容器时抛出异常。 CheckGetSecondaryDataPointerAndThrow 仅在存在作业重新分配原生容器后备内存的风险时才会抛出异常,这会使复制到视图中的数据指针无效。

有关辅助版本号和对动态容器的安全访问的更多信息,请参阅 复制 NativeContainer 结构

其他资源:NativeContainerAttribute