Interlocked.Read Method 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| Read(UInt64) | Returns a 64-bit unsigned value, loaded as an atomic operation. | 
| Read(Int64) | Returns a 64-bit value, loaded as an atomic operation. | 
Read(UInt64)
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
Important
This API is not CLS-compliant.
Returns a 64-bit unsigned value, loaded as an atomic operation.
public:
 static System::UInt64 Read(System::UInt64 % location);[System.CLSCompliant(false)]
public static ulong Read(ref readonly ulong location);[System.CLSCompliant(false)]
public static ulong Read(ref ulong location);[<System.CLSCompliant(false)>]
static member Read : uint64 -> uint64Public Shared Function Read (ByRef location As ULong) As ULongParameters
- location
- UInt64
The 64-bit value to be loaded.
Returns
The loaded value.
- Attributes
Remarks
The Read method is unnecessary on 64-bit systems, because 64-bit read operations are already atomic. On 32-bit systems, 64-bit read operations are not atomic unless performed using Read.
Important
On 32-bit platforms, despite taking a readonly reference parameter, this method requires write access to the memory location because it uses CompareExchange internally to ensure atomicity. Attempting to read from read-only memory (such as memory-mapped files opened with read-only access) can result in an AccessViolationException.
Applies to
Read(Int64)
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
Returns a 64-bit value, loaded as an atomic operation.
public:
 static long Read(long % location);public static long Read(ref long location);public static long Read(ref readonly long location);static member Read : int64 -> int64Public Shared Function Read (ByRef location As Long) As LongParameters
- location
- Int64
The 64-bit value to be loaded.
Returns
The loaded value.
Remarks
The Read method is unnecessary on 64-bit systems, because 64-bit read operations are already atomic. On 32-bit systems, 64-bit read operations are not atomic unless performed using Read.
Important
On 32-bit platforms, despite taking a readonly reference parameter, this method requires write access to the memory location because it uses CompareExchange internally to ensure atomicity. Attempting to read from read-only memory (such as memory-mapped files opened with read-only access) can result in an AccessViolationException.