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

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Проверка инициализации идентификатора и, если это так, проверка его действительности.