AtomicSafetyHandle
структура в Unity.Collections.LowLevel.Unsafe
Выполнено в:UnityEngine.CoreModule
Описание
Координация безопасного доступа к памяти контейнера внутри системы заданий.
AtomicSafetyHandle содержит ссылку на центральную информацию, которую система безопасности хранит для данного собственного контейнера. Когда задание содержит NativeContainer например, система заданий автоматически настраивает флаги в AtomicSafetyHandle для отражения способа использования собственного контейнера в этом задании. Каждое задание имеет отдельную AtomicSafetyHandle экземпляр для заданного нативного контейнера.
Используйте этот класс, когда реализуете собственный NativeContainer тип. Каждый NativeContainer экземпляр должен содержать AtomicSafetyHandle поле названо m_Safety. Для концептуального обзора 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 | Выделяет новый статический идентификатор безопасности для хранения сведений об указанном типе. |
| PrepareUndisposable | Маркирует AtomicSafetyHandle так, что он не может быть удален. |
| Release | Выпускает ранее созданный AtomicSafetyHandle. |
| SetAllowReadOrWriteAccess | Задает доступ для чтения или записи на AtomicSafetyHandle. |
| SetAllowSecondaryVersionWriting | Задаёт, могут ли другие AtomicSafetyHandle, использующие вторичный номер версии, писать в NativeContainer, защищённый указанным AtomicSafetyHandle. |
| SetBumpSecondaryVersionOnScheduleWrite | Устанавливает, следует ли автоматически отбрасывать вторичную версию при планировании задания, имеющего доступ для записи в AtomicSafetyHandle. |
| SetCustomErrorMessage | Предоставляет пользовательское сообщение об ошибке для определенного типа ошибки отладчика задания в случаях, когда может быть предоставлен дополнительный контекст. |
| SetNestedContainer | Устанавливает флаг вложенного контейнера на AtomicSafetyHandle. |
| SetStaticSafetyId | Назначает указанный статический идентификатор безопасности объекту AtomicSafetyHandle. |
| UseSecondaryVersion | Переключает AtomicSafetyHandle на вторичный номер версии. |
| ValidateNonDefaultHandle | Проверка инициализации идентификатора и, если это так, проверка его действительности. |