LocalDataStoreSlot Klasa

Definicja

Hermetyzuje miejsce pamięci do przechowywania danych lokalnych.Encapsulates a memory slot to store local data. Klasa ta nie może być dziedziczona.This class cannot be inherited.

public ref class LocalDataStoreSlot sealed
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class LocalDataStoreSlot
type LocalDataStoreSlot = class
Public NotInheritable Class LocalDataStoreSlot
Dziedziczenie
LocalDataStoreSlot
Atrybuty

Uwagi

.NET Framework zapewnia dwa mechanizmy używania lokalnego magazynu wątków (TLS): względne dla wątku pola statyczne i gniazda danych.The .NET Framework provides two mechanisms for using thread local storage (TLS): thread-relative static fields, and data slots.

  • Pola statyczne względem wątku są static pól (Shared pól w Visual Basic), które są oznaczone atrybutem ThreadStaticAttribute.Thread-relative static fields are static fields (Shared fields in Visual Basic) that are marked with the ThreadStaticAttribute attribute. Zapewniają lepszą wydajność niż miejsca na danych i umożliwiają sprawdzanie typu w czasie kompilacji.They provide better performance than data slots, and enable compile-time type checking.

  • Gniazda danych są wolniejsze i więcej niewygodna niż pola statyczne względne dla wątków.Data slots are slower and more awkward to use than thread-relative static fields. Ponadto dane są przechowywane jako typ Object, dlatego należy rzutować je na poprawny typ przed użyciem.Also, data is stored as type Object, so you must cast it to the correct type before using it. Można jednak używać miejsc danych, gdy w czasie kompilacji nie ma wystarczających informacji do przydzielenia pól statycznych.However, you can use data slots when you have insufficient information at compile time to allocate static fields.

Aby uzyskać więcej informacji o korzystaniu z protokołu TLS, zobacz wątek Local Storage: powiązane z wątkiem pola statyczne i gniazda danych.For more information about using TLS, see Thread Local Storage: Thread-Relative Static Fields and Data Slots.

Podobnie .NET Framework zapewnia dwa mechanizmy używania lokalnego magazynu kontekstowego: pól statycznych względnych dla kontekstu i miejsc danych.Similarly, the .NET Framework provides two mechanisms for using context local storage: context-relative static fields and data slots. Pola statyczne względne dla kontekstu są polami statycznymi, które są oznaczone atrybutem ContextStaticAttribute.Context-relative static fields are static fields that are marked with the ContextStaticAttribute attribute. Różnice między tymi dwoma mechanizmami są podobne do kompromisów między wykorzystaniem pól statycznych względnych dla wątków i miejsc danych.The trade-offs between using these two mechanisms are similar to the tradeoffs between using thread-relative static fields and data slots.

Struktura LocalDataStoreSlot służy jako mechanizm pamięci magazynu lokalnego, którego wątki i konteksty mogą używać do przechowywania odpowiednio właściwych dla wątku i danych kontekstowych.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. Środowisko uruchomieniowe języka wspólnego przydziela tablicę magazynów danych z obsługą wielu gniazd do każdego procesu podczas jego tworzenia.The common language runtime allocates a multi-slot data store array to each process when it is created. Wątek lub kontekst wywołuje różne funkcje w celu przydzielenia miejsca danych w magazynie danych, do przechowywania i pobierania wartości danych w gnieździe oraz do zwolnienia miejsca danych do ponownego użycia po wygaśnięciu wątku lub obiektu kontekstu.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.

Gniazda danych są unikatowe na wątek lub kontekst; ich wartości nie są współużytkowane przez obiekty wątku lub kontekstu.The data slots are unique per thread or context; their values are not shared between the thread or context objects. Miejsca na danych można alokować według nazwy lub według numeru indeksu.Data slots can be allocated by a name or by an index number.

Aby uzyskać więcej informacji na temat przechowywania danych lokalnych, zobacz Thread lub Context.For more information about storing local data, see Thread or Context. Klasa LocalDataStoreSlot jest używana z metodami, takimi jak Thread.AllocateNamedDataSlot, Context.AllocateNamedDataSlot, Thread.GetDatai Context.GetData; nie ma żadnych metod własnych, których należy użyć.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.

Metody

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Finalize()

Zapewnia, że zasoby są zwolnione i inne operacje czyszczenia są wykonywane, gdy moduł zbierający elementy bezużyteczne odzyskuje LocalDataStoreSlot obiektu.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the LocalDataStoreSlot object.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też