Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход

AtomicSafetyHandle.CheckGetSecondaryDataPointerAndThrow

Declaration

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

Параметры

Параметр Описание
ручка AtomicSafetyHandle для проверки.

Описание

Проверьте, безопасно ли создавать представление с алюминиевой памятью для основного контейнера.

Используйте этот метод, когда реализуются методы основного контейнера, которые создают представления с алюминиевой памятью, такие как GetEnumerator или AsArray. Этот метод проверяет безопасность копирования указателя данных в резервную память основного контейнера в новую структуру представления, использующую номер вторичной версии.

Этот метод проверяет наличие ожидающих выполнения заданий, которые могут повлиять на размер основного контейнера и создать риск перераспределения резервной памяти контейнера. Этот метод не вызывает исключение, если задание записывает через AtomicSafetyHandle, использующий номер вторичной версии.

Разница между этим методом и `AtomicSafetyHandle.CheckReadAndThrow` заключается в том, что CheckReadAndThrow вызывает исключение, если есть ожидающие выполнения заданий записи в основной контейнер. CheckGetSecondaryDataPointerAndThrow вызывает исключение только в случае риска перераспределения резервной памяти основного контейнера, что делает указатель данных, скопированный в представление, недействительным.

Дополнительные сведения о номерах вторичных версий и безопасном доступе к динамическим контейнерам см. в Копирование структур NativeContainer.

Дополнительные ресурсы: NativeContainerAttribute.