Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Interlocked.Read Method

Definition

Namespace:
System.Threading
Assemblies:
netstandard.dll, System.Threading.dll
Assemblies:
mscorlib.dll, System.Threading.dll
Assembly:
System.Threading.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll

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

Name Description
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
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 -> uint64
Public Shared Function Read (ByRef location As ULong) As ULong

Parameters

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
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 -> int64
Public Shared Function Read (ByRef location As Long) As Long

Parameters

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.

See also

Applies to


Feedback

Was this page helpful?