LocalDataStoreSlot Sınıf

Tanım

Yerel verileri depolamak için bir bellek yuvası kapsüller.Encapsulates a memory slot to store local data. Bu sınıf devralınamaz.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
Devralma
LocalDataStoreSlot
Öznitelikler

Açıklamalar

.NET Framework, iş parçacığı yerel depolaması (TLS) kullanmak için iki mekanizma sağlar: iş parçacığı göreli statik alanları ve veri yuvaları.The .NET Framework provides two mechanisms for using thread local storage (TLS): thread-relative static fields, and data slots.

  • İş parçacığı göreli statik alanları static Shared , özniteliğiyle işaretlenmiş alanlar (Visual Basic içindeki alanlar) ThreadStaticAttribute .Thread-relative static fields are static fields (Shared fields in Visual Basic) that are marked with the ThreadStaticAttribute attribute. Bunlar veri yuvalardan daha iyi performans sağlar ve derleme zamanı tür denetimini etkinleştirir.They provide better performance than data slots, and enable compile-time type checking.

  • Veri yuvaları, iş parçacığı göreli statik alanlarından daha yavaş ve daha hafif bir şekilde kullanılır.Data slots are slower and more awkward to use than thread-relative static fields. Ayrıca, veriler tür olarak depolanır Object , bu nedenle kullanmadan önce doğru türe dönüştürmeniz gerekir.Also, data is stored as type Object, so you must cast it to the correct type before using it. Ancak, statik alanları ayırmak için derleme zamanında yeterli bilgiye sahip olduğunuzda veri yuvalarını kullanabilirsiniz.However, you can use data slots when you have insufficient information at compile time to allocate static fields.

TLS kullanma hakkında daha fazla bilgi için bkz. Iş parçacığı yerel depolaması: Thread-Relative statik alanları ve veri yuvaları.For more information about using TLS, see Thread Local Storage: Thread-Relative Static Fields and Data Slots.

Benzer şekilde, .NET Framework bağlamı yerel depolama kullanmak için iki mekanizma sağlar: bağlam göreli statik alanları ve veri yuvaları.Similarly, the .NET Framework provides two mechanisms for using context local storage: context-relative static fields and data slots. Bağlam göreli statik alanlar, özniteliğiyle işaretlenmiş statik alanlardır ContextStaticAttribute .Context-relative static fields are static fields that are marked with the ContextStaticAttribute attribute. Bu iki mekanizmayı kullanma ile ilgili denge, iş parçacığı göreli statik alanları ve veri yuvaları arasındaki dengelemeler ile benzerdir.The trade-offs between using these two mechanisms are similar to the tradeoffs between using thread-relative static fields and data slots.

LocalDataStoreSlotYapı, iş parçacıklarının ve bağlamların sırasıyla iş parçacığına özgü ve içeriğe özgü verileri depolamak için kullanabileceği bir yerel depo bellek mekanizması görevi görür.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. Ortak dil çalışma zamanı, oluşturulduğunda her bir işleme çok yuvalı bir veri deposu dizisi ayırır.The common language runtime allocates a multi-slot data store array to each process when it is created. İş parçacığı veya bağlam, veri deposunda veri yuvası ayırmak, yuvada bir veri değeri depolamak ve almak ve iş parçacığı ya da bağlam nesnesinin süresi dolduktan sonra yeniden kullanmak üzere bir veri yuvasını boşaltmak için çeşitli işlevleri çağırır.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.

Veri yuvaları iş parçacığı veya bağlam başına benzersizdir; değerleri, iş parçacığı veya bağlam nesneleri arasında paylaşılmaz.The data slots are unique per thread or context; their values are not shared between the thread or context objects. Veri yuvaları, bir ad veya bir dizin numarası ile ayrılabilir.Data slots can be allocated by a name or by an index number.

Yerel verileri depolama hakkında daha fazla bilgi için bkz Thread Context . veya.For more information about storing local data, see Thread or Context. LocalDataStoreSlotSınıfı,,, ve gibi yöntemlerle kullanılır Thread.AllocateNamedDataSlot Context.AllocateNamedDataSlot Thread.GetData Context.GetData ; kendi kullanmanız gereken herhangi bir yöntemi yoktur.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.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
Finalize()

Kaynak serbest bırakılmış ve çöp toplayıcı nesne geri kazanır diğer temizleme işlemlerinin gerçekleştirilmesini sağlar LocalDataStoreSlot .Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the LocalDataStoreSlot object.

GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.