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

AtomicSafetyHandle

Unity.Collections.LowLevel.Unsafe 中的结构体

/

实现于:UnityEngine.CoreModule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

协调作业系统内部对原生容器内存的安全访问。

AtomicSafetyHandle 持有一个对安全系统为给定原生容器存储的中心信息的引用。当作业包含 NativeContainer 实例时,作业系统会自动配置 AtomicSafetyHandle 中的标志以反映原生容器在该作业中如何使用。每个作业对于给定的原生容器都有一个单独的 AtomicSafetyHandle 实例。

当您实现自定义 NativeContainer 类型时,请使用此类。每个 NativeContainer 实例都必须包含一个名为 m_SafetyAtomicSafetyHandle 字段。有关 AtomicSafetyHandle 及其在作业系统中所起作用的概念概述,请参阅 实现自定义原生容器

静态方法

CheckDeallocateAndThrow检查是否可以释放 AtomicSafetyHandle。
CheckExistsAndThrow检查 AtomicSafetyHandle 是否有效。
CheckGetSecondaryDataPointerAndThrow检查是否可以安全地创建对原生容器的内存别名视图。
CheckReadAndThrow检查是否可以从中读取引用的原生容器。
CheckWriteAndBumpSecondaryVersion检查是否可以写入引用的原生容器,如果可以,则递增辅助版本号。
CheckWriteAndThrow检查是否可以写入引用的原生容器。
Create创建一个新的 AtomicSafetyHandle。
EnforceAllBufferJobsHaveCompleted等待针对 AtomicSafetyHandle 运行的所有作业完成。
EnforceAllBufferJobsHaveCompletedAndDisableReadWrite等待针对 AtomicSafetyHandle 运行的所有作业完成,然后禁用 AtomicSafetyHandle 上的读写访问权限。
EnforceAllBufferJobsHaveCompletedAndRelease等待针对 AtomicSafetyHandle 运行的所有作业完成,然后释放 AtomicSafetyHandle。
GetAllowReadOrWriteAccess检查 AtomicSafetyHandle 是否配置为允许读取或写入。
GetNestedContainer检查 AtomicSafetyHandle 是否表示嵌套容器。
GetReaderArray获取从 AtomicSafetyHandle 读取的所有作业的作业句柄。
GetReaderName获取从 AtomicSafetyHandle 读取的指定作业的名称。
GetTempMemoryHandle获取临时内存范围中临时内存分配的 AtomicSafetyHandle。
GetTempUnsafePtrSliceHandle获取单个共享的 AtomicSafetyHandle。
GetWriter获取 AtomicSafetyHandle 上的任何写入器。
GetWriterName获取 AtomicSafetyHandle 上当前写入器的调试名称。
IsDefaultValue检查 AtomicSafetyHandle 是否具有其默认值。
IsHandleValid检查 AtomicSafetyHandle 是否有效。
IsTempMemoryHandle检查 AtomicSafetyHandle 是否是活动临时内存范围的临时内存安全句柄。
IsValidNonDefaultHandle检查 AtomicSafetyHandle 是否已初始化且有效。
NewStaticSafetyId分配一个新的静态安全 ID 以存储为提供的类型提供的信息。
PrepareUndisposable标记 AtomicSafetyHandle,使其无法被处置。
Release释放先前创建的 AtomicSafetyHandle。
SetAllowReadOrWriteAccess设置 AtomicSafetyHandle 上的读写访问权限。
SetAllowSecondaryVersionWriting设置使用辅助版本号的其他 AtomicSafetyHandle 是否可以写入由给定 AtomicSafetyHandle 保护的 NativeContainer。
SetBumpSecondaryVersionOnScheduleWrite设置是否在调度具有对 AtomicSafetyHandle 的写访问权限的作业时自动增加辅助版本。
SetCustomErrorMessage在可以提供其他上下文的情况下,为特定的作业调试器错误类型提供自定义错误消息。
SetNestedContainer在 AtomicSafetyHandle 上设置嵌套容器标志。
SetStaticSafetyId将提供的静态安全 ID 分配给 AtomicSafetyHandle。
UseSecondaryVersion将 AtomicSafetyHandle 切换到辅助版本号。
ValidateNonDefaultHandle检查句柄是否已初始化,如果已初始化,则检查它是否仍然有效。