Volatile.Read 方法

定义

读取字段值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

重载

Read(Boolean)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Byte)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Double)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Int16)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Int32)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Int64)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(IntPtr)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(SByte)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Single)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(UInt16)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(UInt32)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(UInt64)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(UIntPtr)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read<T>(T)

从指定的字段读取对象引用。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

Read(Boolean)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static bool Read(bool % location);
public static bool Read (ref bool location);
static member Read : bool -> bool
Public Shared Function Read (ByRef location As Boolean) As Boolean

参数

location
Boolean

要读取的字段。

返回

Boolean

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Byte)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static System::Byte Read(System::Byte % location);
public static byte Read (ref byte location);
static member Read : byte -> byte
Public Shared Function Read (ByRef location As Byte) As Byte

参数

location
Byte

要读取的字段。

返回

Byte

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Double)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static double Read(double % location);
public static double Read (ref double location);
static member Read : double -> double
Public Shared Function Read (ByRef location As Double) As Double

参数

location
Double

要读取的字段。

返回

Double

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Int16)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static short Read(short % location);
public static short Read (ref short location);
static member Read : int16 -> int16
Public Shared Function Read (ByRef location As Short) As Short

参数

location
Int16

要读取的字段。

返回

Int16

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Int32)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static int Read(int % location);
public static int Read (ref int location);
static member Read : int -> int
Public Shared Function Read (ByRef location As Integer) As Integer

参数

location
Int32

要读取的字段。

返回

Int32

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Int64)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static long Read(long % location);
public static long Read (ref long location);
static member Read : int64 -> int64
Public Shared Function Read (ByRef location As Long) As Long

参数

location
Int64

要读取的字段。

返回

Int64

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(IntPtr)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static IntPtr Read(IntPtr % location);
public static IntPtr Read (ref IntPtr location);
static member Read : nativeint -> nativeint
Public Shared Function Read (ByRef location As IntPtr) As IntPtr

参数

location
IntPtr

nativeint

要读取的字段。

返回

IntPtr

nativeint

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(SByte)

重要

此 API 不符合 CLS。

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static System::SByte Read(System::SByte % location);
[System.CLSCompliant(false)]
public static sbyte Read (ref sbyte location);
[<System.CLSCompliant(false)>]
static member Read : sbyte -> sbyte
Public Shared Function Read (ByRef location As SByte) As SByte

参数

location
SByte

要读取的字段。

返回

SByte

读取的值。

属性

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(Single)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static float Read(float % location);
public static float Read (ref float location);
static member Read : single -> single
Public Shared Function Read (ByRef location As Single) As Single

参数

location
Single

要读取的字段。

返回

Single

读取的值。

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(UInt16)

重要

此 API 不符合 CLS。

符合 CLS 的替代方案
System.Threading.Volatile.Read(Int16)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static System::UInt16 Read(System::UInt16 % location);
[System.CLSCompliant(false)]
public static ushort Read (ref ushort location);
[<System.CLSCompliant(false)>]
static member Read : uint16 -> uint16
Public Shared Function Read (ByRef location As UShort) As UShort

参数

location
UInt16

要读取的字段。

返回

UInt16

读取的值。

属性

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(UInt32)

重要

此 API 不符合 CLS。

符合 CLS 的替代方案
System.Threading.Volatile.Read(Int32)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static System::UInt32 Read(System::UInt32 % location);
[System.CLSCompliant(false)]
public static uint Read (ref uint location);
[<System.CLSCompliant(false)>]
static member Read : uint32 -> uint32
Public Shared Function Read (ByRef location As UInteger) As UInteger

参数

location
UInt32

要读取的字段。

返回

UInt32

读取的值。

属性

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(UInt64)

重要

此 API 不符合 CLS。

符合 CLS 的替代方案
System.Threading.Volatile.Read(Int64)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static System::UInt64 Read(System::UInt64 % 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

要读取的字段。

返回

UInt64

读取的值。

属性

注解

有关更多信息,请参见 Volatile 类。

适用于

Read(UIntPtr)

重要

此 API 不符合 CLS。

符合 CLS 的替代方案
System.Threading.Volatile.Read(IntPtr)

读取指定字段的值。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
 static UIntPtr Read(UIntPtr % location);
[System.CLSCompliant(false)]
public static UIntPtr Read (ref UIntPtr location);
[<System.CLSCompliant(false)>]
static member Read : unativeint -> unativeint
Public Shared Function Read (ByRef location As UIntPtr) As UIntPtr

参数

location
UIntPtr

unativeint

要读取的字段。

返回

UIntPtr

unativeint

读取的值。

属性

注解

有关更多信息,请参见 Volatile 类。

适用于

Read<T>(T)

从指定的字段读取对象引用。 在需要进行此操作的系统上,插入防止处理器重新对内存操作进行排序的内存屏障,如下所示:如果读取或写入操作在代码中出现在此方法之后,则处理器无法将其移至此方法之前。

public:
generic <typename T>
 where T : class static T Read(T % location);
public static T Read<T> (ref T location) where T : class;
static member Read : 'T -> 'T (requires 'T : null)
Public Shared Function Read(Of T As Class) (ByRef location As T) As T

类型参数

T

要读取的字段的类型。 此类型必须是引用类型,而不是值类型。

参数

location
T

要读取的字段。

返回

T

对读取的 T 的引用。 无论处理器的数目或处理器缓存的状态如何,该引用都是由计算机的任何处理器写入的最新引用。

注解

有关更多信息,请参见 Volatile 类。

适用于