LocalDataStoreSlot Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Hermetyzuje miejsce pamięci do przechowywania danych lokalnych. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
-
LocalDataStoreSlot
- Atrybuty
Uwagi
.NET Framework udostępnia dwa mechanizmy używania magazynu lokalnego wątku (TLS): względne pola statyczne wątku i miejsca danych.
Pola statyczne względne wątkowo to
static
pola (Shared
pola w Visual Basic), które są oznaczone atrybutem ThreadStaticAttribute . Zapewniają one lepszą wydajność niż gniazda danych i umożliwiają sprawdzanie typów w czasie kompilacji.Miejsca danych są wolniejsze i bardziej niezręczne do użycia niż pola statyczne względne wątku. Ponadto dane są przechowywane jako typ Object, dlatego przed użyciem należy je rzutować do poprawnego typu. Można jednak użyć miejsc danych, jeśli w czasie kompilacji nie masz wystarczających informacji, aby przydzielić pola statyczne.
Aby uzyskać więcej informacji na temat korzystania z protokołu TLS, zobacz Temat Thread Local Storage: Thread-Relative Static Fields and Data Slots (Lokalne Thread-Relative pola statyczne i miejsca danych).
Podobnie .NET Framework udostępnia dwa mechanizmy korzystania z magazynu lokalnego kontekstu: pola statyczne względne kontekstowo i miejsca danych. Pola statyczne względne kontekstowo to pola statyczne oznaczone atrybutem ContextStaticAttribute . Kompromisy między użyciem tych dwóch mechanizmów są podobne do kompromisów między użyciem pól statycznych względnych wątków a miejscami danych.
Struktura LocalDataStoreSlot służy jako mechanizm pamięci magazynu lokalnego, którego wątki i konteksty mogą używać do przechowywania odpowiednio danych specyficznych dla wątków i kontekstu. Środowisko uruchomieniowe języka wspólnego przydziela tablicę magazynów danych z wieloma miejscami do każdego procesu podczas jego tworzenia. Wątek lub kontekst wywołuje różne funkcje w celu przydzielenia miejsca danych w magazynie danych, przechowywania i pobierania wartości danych w miejscu oraz zwolnienia miejsca danych do ponownego użycia po wygaśnięciu obiektu wątku lub kontekstu.
Miejsca danych są unikatowe dla każdego wątku lub kontekstu; ich wartości nie są udostępniane między obiektami wątku ani kontekstu. Miejsca danych można przydzielić według nazwy lub numeru indeksu.
Aby uzyskać więcej informacji na temat przechowywania danych lokalnych, zobacz Thread lub Context. Klasa LocalDataStoreSlot jest używana z metodami takimi jak Thread.AllocateNamedDataSlot, Context.AllocateNamedDataSlot, Thread.GetDatai Context.GetData; nie ma żadnych własnych metod, których należy użyć.
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Finalize() |
Zapewnia, że zasoby są zwalniane, a inne operacje czyszczenia są wykonywane, gdy moduł odśmiecający elementy bezużyteczne LocalDataStoreSlot odzyska obiekt. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |