handle | 要检查的 AtomicSafetyHandle。 |
检查是否可以安全地创建对原生容器的内存别名视图。
当您实现创建内存别名视图的原生容器方法(例如 GetEnumerator
或 AsArray
)时,请使用此方法。此方法检查是否可以安全地将数据指针复制到原生容器的后备内存中,复制到使用辅助版本号的新视图结构中。
此方法检查是否存在可能影响原生容器大小并可能重新分配容器后备内存的挂起作业。如果作业通过使用辅助版本号的 AtomicSafetyHandle
写入数据,则此方法不会抛出异常。
此方法与 `AtomicSafetyHandle.CheckReadAndThrow` 之间的区别在于,CheckReadAndThrow
会在有任何挂起作业写入原生容器时抛出异常。 CheckGetSecondaryDataPointerAndThrow
仅在存在作业重新分配原生容器后备内存的风险时才会抛出异常,这会使复制到视图中的数据指针无效。
有关辅助版本号和对动态容器的安全访问的更多信息,请参阅 复制 NativeContainer 结构。
其他资源:NativeContainerAttribute。