Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
combinable<T> Nesnesi, paralel algoritmalar sırasında kilitsiz iş parçacığı yerel alt hesaplamaları gerçekleştirmek için verilerin iş parçacığı özel kopyalarını sağlamaya yöneliktir. Paralel işlemin sonunda, iş parçacığı-özel alt hesaplamaları son bir sonuçla birleştirilebilir. Bu sınıf paylaşılan değişken yerine kullanılabilir ve paylaşılan değişkende çok fazla çekişme olması durumunda performans artışına neden olabilir.
Sözdizimi
template<typename T>
class combinable;
Parametreler
T
Son birleştirilmiş sonucun veri türü. Türün bir kopya oluşturucusunun ve varsayılan bir oluşturucusunun olması gerekir.
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| Combinable | Aşırı yüklendi. Yeni combinable bir nesne oluşturur. |
| ~combinable Yıkıcı | Bir combinable nesneyi yok eder. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| berrak | Önceki kullanımdaki ara hesaplama sonuçlarını temizler. |
| birleşmek | Sağlanan birleştirme functor'ını çağırarak iş parçacığı yerel alt hesaplama kümesinden son değeri hesaplar. |
| combine_each | Sağlanan combine functor'ı iş parçacığı-yerel alt hesaplama başına bir kez çağırarak iş parçacığı yerel alt hesaplama kümesinden son değeri hesaplar. Sonuç, işlev nesnesi tarafından birikir. |
| local | Aşırı yüklendi. İş parçacığı-özel alt hesaplamasına başvuru döndürür. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| operator= | Başka combinable bir nesneden bir combinable nesneye atar. |
Açıklamalar
Daha fazla bilgi için bkz . Paralel Kapsayıcılar ve Nesneler.
Devralma Hiyerarşisi
combinable
Gereksinimler
Üst bilgi: ppl.h
Ad alanı: eşzamanlılık
berrak
Önceki kullanımdaki ara hesaplama sonuçlarını temizler.
void clear();
Combinable
Yeni combinable bir nesne oluşturur.
combinable();
template <typename _Function>
explicit combinable(_Function _FnInitialize);
combinable(const combinable& _Copy);
Parametreler
_Fonksiyon
Başlatma functor nesnesinin türü.
_FnInitialize
türünün Ther yeni iş parçacığı-özel değerini başlatmak için çağrılacak bir işlev. İmzası T ()olan bir işlev çağrısı işlecini desteklemelidir.
_Kopya etmek
Bu nesneye kopyalanacak mevcut combinable bir nesne.
Açıklamalar
İlk oluşturucu, türü Tiçin varsayılan oluşturucu ile yeni öğeleri başlatır.
İkinci oluşturucu, parametre olarak sağlanan başlatma functor'ını _FnInitialize kullanarak yeni öğeleri başlatır.
Üçüncü oluşturucu, kopya oluşturucudur.
~Combinable
Bir combinable nesneyi yok eder.
~combinable();
birleşmek
Sağlanan birleştirme functor'ını çağırarak iş parçacığı yerel alt hesaplama kümesinden son değeri hesaplar.
template<typename _Function>
T combine(_Function _FnCombine) const;
Parametreler
_Fonksiyon
İki iş parçacığı yerel alt hesaplamasını birleştirmek için çağrılacak işlev nesnesinin türü.
_FnCombine
Alt hesaplamaları birleştirmek için kullanılan functor. İmzası veya T (const T&, const T&)şeklindedir T (T, T) ve ilişkilendirilebilir ve karşılıklı olmalıdır.
Dönüş Değeri
tüm iş parçacığı-özel alt hesaplamalarını birleştirmenin nihai sonucu.
combine_each
Sağlanan combine functor'ı iş parçacığı-yerel alt hesaplama başına bir kez çağırarak iş parçacığı yerel alt hesaplama kümesinden son değeri hesaplar. Sonuç, işlev nesnesi tarafından birikir.
template<typename _Function>
void combine_each(_Function _FnCombine) const;
Parametreler
_Fonksiyon
Tek bir iş parçacığı yerel alt hesaplamasını birleştirmek için çağrılacak işlev nesnesinin türü.
_FnCombine
Bir alt hesaplamayı birleştirmek için kullanılan functor. İmzası veya void (const T&)şeklindedir void (T) ve ilişkilendirilebilir ve karşılıklı olmalıdır.
yerel
İş parçacığı-özel alt hesaplamasına başvuru döndürür.
T& local();
T& local(bool& _Exists);
Parametreler
_Var
Boole'a başvuru. Bu bağımsız değişken tarafından başvuruda bulunılan boole değeri, alt hesaplama bu iş parçacığında zaten varsa olarak ayarlanır true ve bu, bu iş parçacığındaki ilk alt hesaplama olup olmadığını olarak ayarlanır false .
Dönüş Değeri
İş parçacığı özel alt hesaplamasına başvuru.
operator=
Başka combinable bir nesneden bir combinable nesneye atar.
combinable& operator= (const combinable& _Copy);
Parametreler
_Kopya etmek
Bu nesneye kopyalanacak mevcut combinable bir nesne.
Dönüş Değeri
Bu combinable nesneye bir başvuru.