struct in Unity.Collections.LowLevel.Unsafe
/
Implemented in:UnityEngine.CoreModule
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseAtomicSafetyHandle is used by the job system to provide validation and full safety.
It becomes available by defining the ENABLE_UNITY_COLLECTIONS_CHECKS symbol.
See Also: the example in NativeContainerAttribute.
CheckDeallocateAndThrow | Checks if the handle can be deallocated. Throws an exception if it has already been destroyed or a job is currently accessing the data. |
CheckExistsAndThrow | Checks if the handle is still valid and throws an exception if it is already destroyed. |
CheckGetSecondaryDataPointerAndThrow | CheckGetSecondaryDataPointerAndThrow. |
CheckReadAndThrow | Checks if the handle can be read from. Throws an exception if already destroyed or a job is currently writing to the data. |
CheckWriteAndBumpSecondaryVersion | Performs CheckWriteAndThrow and then bumps the secondary version. |
CheckWriteAndThrow | Checks if the handle can be written to. Throws an exception if already destroyed or a job is currently reading or writing to the data. |
Create | Creates a new AtomicSafetyHandle that is valid until AtomicSafetyHandle.Release is called. |
EnforceAllBufferJobsHaveCompleted | Waits for all jobs running against this AtomicSafetyHandle to complete. |
EnforceAllBufferJobsHaveCompletedAndDisableReadWrite | Waits for all jobs running against this AtomicSafetyHandle to complete and then disables the read and write access on this atomic safety handle. |
EnforceAllBufferJobsHaveCompletedAndRelease | Waits for all jobs running against this AtomicSafetyHandle to complete and then releases the atomic safety handle. |
GetAllowReadOrWriteAccess | Returns true if the AtomicSafetyHandle is configured to allow reading or writing. |
GetReaderArray | Fetch the job handles of all jobs reading from the safety handle. |
GetReaderName | Return the name of the specified reading job. |
GetTempMemoryHandle | Returns the safety handle which should be used for all temp memory allocations in this temp memory scope. All temp memory allocations share the same safety handle since they are automatically disposed of at the same time. |
GetTempUnsafePtrSliceHandle | Returns a single shared handle, that can be shared by for example NativeSlice pointing to stack memory. |
GetWriter | Return the writer (if any) on an atomic safety handle. |
GetWriterName | Return the debug name of the current writer on an atomic safety handle. |
IsTempMemoryHandle | Checks if an AtomicSafetyHandle is the temp memory safety handle for the currently active temp memory scope. |
PrepareUndisposable | Marks the AtomicSafetyHandle so that it cannot be disposed of. |
Release | Releases a previously created AtomicSafetyHandle. |
SetAllowReadOrWriteAccess | Lets you prevent read or write access on the atomic safety handle. |
SetAllowSecondaryVersionWriting | Switches the AtomicSafetyHandle to the secondary version number. |
UseSecondaryVersion | Switches the AtomicSafetyHandle to the secondary version number. |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!