LocalDataStoreSlot Класс

Определение

Инкапсулирует ячейку памяти для хранения локальных данных.Encapsulates a memory slot to store local data. Этот класс не наследуется.This class cannot be inherited.

public ref class LocalDataStoreSlot sealed
public sealed class LocalDataStoreSlot
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class LocalDataStoreSlot
type LocalDataStoreSlot = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type LocalDataStoreSlot = class
Public NotInheritable Class LocalDataStoreSlot
Наследование
LocalDataStoreSlot
Атрибуты

Комментарии

.NET Framework предоставляет два механизма использования локального хранилища потока (TLS): статические поля потока и области данных.The .NET Framework provides two mechanisms for using thread local storage (TLS): thread-relative static fields, and data slots.

  • Статические поля потока — это static поля ( Shared поля в Visual Basic), которые помечены ThreadStaticAttribute атрибутом.Thread-relative static fields are static fields (Shared fields in Visual Basic) that are marked with the ThreadStaticAttribute attribute. Они обеспечивают лучшую производительность, чем слоты данных, и обеспечивают проверку типов во время компиляции.They provide better performance than data slots, and enable compile-time type checking.

  • Области данных выполняются медленнее и более неудобно для использования, чем статические поля потока.Data slots are slower and more awkward to use than thread-relative static fields. Кроме того, данные хранятся в виде типа Object , поэтому перед его использованием необходимо привести их к правильному типу.Also, data is stored as type Object, so you must cast it to the correct type before using it. Однако можно использовать области данных, если во время компиляции недостаточно информации для выделения статических полей.However, you can use data slots when you have insufficient information at compile time to allocate static fields.

Дополнительные сведения об использовании TLS см. в разделе Локальное хранилище потока: Thread-Relative статические поля и области данных.For more information about using TLS, see Thread Local Storage: Thread-Relative Static Fields and Data Slots.

Аналогичным образом .NET Framework предоставляет два механизма для использования локального хранилища контекста: статические поля контекста и области данных.Similarly, the .NET Framework provides two mechanisms for using context local storage: context-relative static fields and data slots. Статические поля контекста — это статические поля, помеченные ContextStaticAttribute атрибутом.Context-relative static fields are static fields that are marked with the ContextStaticAttribute attribute. Компромиссы между использованием этих двух механизмов похожи на компромиссы между использованием статических полей и областей данных, относящихся к потокам.The trade-offs between using these two mechanisms are similar to the tradeoffs between using thread-relative static fields and data slots.

LocalDataStoreSlotСтруктура выступает в качестве механизма памяти локального хранилища, который потоки и контексты могут использовать для хранения данных, зависящих от конкретного потока и контекста, соответственно.The LocalDataStoreSlot structure serves as a local store memory mechanism that threads and contexts can use to store thread-specific and context-specific data, respectively. Среда CLR выделяет массив хранилища данных с несколькими слотами каждому процессу при его создании.The common language runtime allocates a multi-slot data store array to each process when it is created. Поток или контекст вызывает различные функции для выделения области данных в хранилище данных, для хранения и извлечения значения данных в слоте, а также для освобождения области данных для повторного использования после истечения срока действия объекта потока или контекста.The thread or context calls various functions to allocate a data slot in the data store, to store and retrieve a data value in the slot, and to free a data slot for reuse after the thread or context object expires.

Области данных являются уникальными для каждого потока или контекста; их значения не являются общими между объектами потока или контекста.The data slots are unique per thread or context; their values are not shared between the thread or context objects. Области данных могут выделяться по имени или по номеру индекса.Data slots can be allocated by a name or by an index number.

Дополнительные сведения о хранении локальных данных см. в разделе Thread или Context .For more information about storing local data, see Thread or Context. LocalDataStoreSlotКласс используется с такими методами, как Thread.AllocateNamedDataSlot , Context.AllocateNamedDataSlot , Thread.GetData и Context.GetData ; он не имеет собственных методов, которые необходимо использовать.The LocalDataStoreSlot class is used with methods such as Thread.AllocateNamedDataSlot, Context.AllocateNamedDataSlot, Thread.GetData, and Context.GetData; it does not have any methods of its own that you need to use.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Finalize()

Обеспечивает освобождение ресурсов и выполнение других завершающих операций, когда сборщик мусора восстанавливает объект LocalDataStoreSlot.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the LocalDataStoreSlot object.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

См. также раздел