Interlocked.Read 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| Read(UInt64) |
返回作为原子操作加载的 64 位无符号值。 |
| Read(Int64) |
返回作为原子操作加载的 64 位值。 |
Read(UInt64)
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
- Source:
- Interlocked.cs
重要
此 API 不符合 CLS。
返回作为原子操作加载的 64 位无符号值。
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
参数
- location
- UInt64
要加载的 64 位值。
返回
加载的值。
- 属性
注解
此方法 Read 在 64 位系统上是不必要的,因为 64 位读取操作已经是原子的。 在 32 位系统上,除非使用 Read64 位读取操作,否则不是原子操作。
重要
在 32 位平台上,尽管采用只读引用参数,但此方法需要对内存位置进行写入访问,因为它在内部使用 CompareExchange 以确保原子性。 尝试从只读内存中读取(如以只读访问打开的内存映射文件)可能会导致一个 AccessViolationException。
适用于
Read(Int64)
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
- Source:
- Interlocked.CoreCLR.cs
返回作为原子操作加载的 64 位值。
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
参数
- location
- Int64
要加载的 64 位值。
返回
加载的值。
注解
此方法 Read 在 64 位系统上是不必要的,因为 64 位读取操作已经是原子的。 在 32 位系统上,除非使用 Read64 位读取操作,否则不是原子操作。
重要
在 32 位平台上,尽管采用只读引用参数,但此方法需要对内存位置进行写入访问,因为它在内部使用 CompareExchange 以确保原子性。 尝试从只读内存中读取(如以只读访问打开的内存映射文件)可能会导致一个 AccessViolationException。