Interlocked.Read Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| Read(UInt64) |
Возвращает 64-разрядное значение без знака, загруженное в виде атомарной операции. |
| Read(Int64) |
Возвращает 64-разрядное значение, загруженное в виде атомарной операции. |
Read(UInt64)
- Исходный код:
- Interlocked.cs
- Исходный код:
- Interlocked.cs
- Исходный код:
- Interlocked.cs
- Исходный код:
- Interlocked.cs
- Исходный код:
- 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-разрядных системах 64-разрядные операции чтения не являются атомарными, если не выполняются с помощью Read.
Important
На 32-разрядных платформах, несмотря на использование параметра ссылки на чтение, этот метод требует доступа на запись к расположению памяти, так как он использует CompareExchange внутренне для обеспечения атомарности. Попытка чтения из памяти только для чтения (например, сопоставленные с памятью файлы, открытые с доступом только для чтения), может привести к AccessViolationException.
Применяется к
Read(Int64)
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- Interlocked.CoreCLR.cs
- Исходный код:
- 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-разрядных системах 64-разрядные операции чтения не являются атомарными, если не выполняются с помощью Read.
Important
На 32-разрядных платформах, несмотря на использование параметра ссылки на чтение, этот метод требует доступа на запись к расположению памяти, так как он использует CompareExchange внутренне для обеспечения атомарности. Попытка чтения из памяти только для чтения (например, сопоставленные с памятью файлы, открытые с доступом только для чтения), может привести к AccessViolationException.