LocalDataStoreSlot Sınıf

Tanım

Yerel verileri depolamak için bir bellek yuvası kapsüller. Bu sınıf devralınamaz.

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 depolama (TLS) kullanmak için iki mekanizma sağlar: iş parçacığı göreli statik alanlar ve veri yuvaları.

  • İş parçacığı göreli statik alanlarıstatic, özniteliğiyle ThreadStaticAttribute işaretlenmiş alanlardır (SharedVisual Basic'teki alanlar). Veri yuvalarından daha iyi performans sağlar ve derleme zamanı türü denetimini etkinleştirir.

  • Veri yuvalarının kullanımı, iş parçacığı göreli statik alanlara göre daha yavaştır ve daha gariptir. Ayrıca, veriler türü Objectolarak depolanır, bu nedenle kullanmadan önce doğru türe dönüştürmeniz gerekir. Ancak, statik alanları ayırmak için derleme zamanında yeterli bilgiye sahip olmadığınızda veri yuvalarını kullanabilirsiniz.

TLS kullanma hakkında daha fazla bilgi için bkz . İş Parçacığı Yerel Depolama: statik alanlar ve veri yuvaları Thread-Relative.

Benzer şekilde, .NET Framework bağlam yerel depolamayı kullanmaya yönelik iki mekanizma sağlar: bağlama göre statik alanlar ve veri yuvaları. Bağlama göre statik alanlar, özniteliğiyle ContextStaticAttribute işaretlenmiş statik alanlardır. Bu iki mekanizmayı kullanma arasındaki denge, iş parçacığı göreli statik alanları ve veri yuvalarını kullanma arasındaki dengelere benzer.

Yapı, LocalDataStoreSlot iş parçacıklarının ve bağlamların sırasıyla iş parçacığına özgü ve bağlama özgü verileri depolamak için kullanabileceği yerel bir depolama bellek mekanizması görevi görür. Ortak dil çalışma zamanı, oluşturulduğunda her işleme çok yuvalı bir veri deposu dizisi ayırır. İş parçacığı veya bağlam, veri deposunda bir veri yuvası ayırmak, yuvada bir veri değeri depolamak ve almak ve iş parçacığı veya bağlam nesnesinin süresi dolduktan sonra bir veri yuvasını yeniden kullanmak üzere boşaltmak için çeşitli işlevleri çağırır.

Veri yuvaları iş parçacığı veya bağlam başına benzersizdir; değerleri iş parçacığı veya bağlam nesneleri arasında paylaşılmaz. Veri yuvaları bir adla veya dizin numarasıyla ayrılabilir.

Yerel verileri depolama hakkında daha fazla bilgi için, bkz Thread . veya Context. LocalDataStoreSlot sınıfı , , Context.AllocateNamedDataSlotThread.GetDatave Context.GetDatagibi Thread.AllocateNamedDataSlotyöntemlerle kullanılır; kullanmanız gereken kendi yöntemleri yoktur.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

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

Atık toplayıcı nesneyi geri kazandığında kaynakların serbest kalmasını ve diğer temizleme işlemlerinin gerçekleştirilmesini LocalDataStoreSlot sağlar.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

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

Type Geçerli örneğini alır.

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.