System::Collections::Concurrent::ConcurrentDictionary sınıfı
ConcurrentDictionary class
İş parçacığı güvenli sözlük uygulaması. Bu sınıfın nesneleri yalnızca System::MakeObject() işlevi kullanılarak ayrılmalıdır. Bu tipin örneğini yığına (stack) ya da operator new ile oluşturmayın, çünkü çalışma zamanı hatalarına ve/veya doğrulama hatalarına yol açar. Bu sınıfı her zaman System::SmartPtr işaretçisine sarın ve bu işaretçiyi fonksiyonlara argüman olarak geçirmek için kullanın.
template<class TKey,class TValue>class ConcurrentDictionary : public System::Collections::Generic::Dictionary<TKey, TValue>
| Parametre | Açıklama |
|---|
| TKey | Anahtar türü. |
| TValue | Değer türü. |
Yöntemler
| Yöntem | Açıklama |
|---|
| Add(const TKey&, const TValue&) override | Sözlüğe değer ekler. |
| Clear() override | Kapsayıcıdaki tüm öğeleri siler. |
| CopyTo(ArrayPtr<System::Collections::Generic::KeyValuePair<TKey, TValue>>, int) override | Konteynır elemanlarını mevcut dizi elemanlarına kopyalar. |
| get_KeysInternal() const override | Sözlük anahtarlarına erişmek için sarmalayıcı koleksiyon alır. |
| idx_set(const TKey&, TValue) override | RTTI bilgisi. |
| Remove(const TKey&) override | Kapsayıcıdan öğeyi kaldırır. |
| TryAdd(const TKey&, const TValue&) | Anahtar/değer çiftini sözlüğe eklemeyi dener. |
Typedefs
Açıklamalar
#include <system/collections/concurrent/concurrent_dictionary.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
const int itemsCount = 32;
// ConcurrentDictionary sınıfı örneğini oluştur.
auto concurrentDictionary = MakeObject<ConcurrentDictionary<int, int>>();
// ConcurrentDictionary sözlüğünü doldur.
for (auto i = 0; i < itemsCount; ++i)
{
concurrentDictionary->Add(i, i * i);
}
Console::WriteLine(concurrentDictionary->idx_get(3));
return 0;
}
/*
This code example produces the following output:
9
*/
Ayrıca Bakınız