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.
task_handle sınıfı bir tek paralel iş öğesini temsil eder. Bir iş parçasını yürütmek için gereken yönergeleri ve verileri kapsüller.
Sözdizimi
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parametreler
_Fonksiyon
Çalışmayı temsil eden task_handle nesnesini yürütmek için çağrılacak olan işlev nesnesinin türü.
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| task_handle | Yeni task_handle bir nesne oluşturur. Görevin çalışması, oluşturucuya parametre olarak belirtilen işlev çağrılarak gerçekleştirilir. |
| ~task_handle Yıkıcı Fonksiyon |
task_handle nesnesini yok eder. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| operator() | Çalışma zamanının, görev tutamacının işlevini yerine getirmek için çağırdığı işlev çağrısı işleci. |
Açıklamalar
task_handle nesneleri, çalışmayı paralel görevlere ayırmak için bir structured_task_group veya daha genel task_group bir nesneyle birlikte kullanılabilir. Daha fazla bilgi için bkz . Görev Paralelliği.
Unutmayın ki task_handle nesnesinin yaratıcı, Concurrency Runtime tarafından artık gereksinim duyulmadığında oluşturulan task_handle nesnenin ömrünü sürdürmekten sorumludur. Bu genellikle, kuyruğa alındığı task_handle nesnesinin wait veya run_and_wait yöntemlerinden herhangi biri task_group veya structured_task_group çağrılana kadar yok edilmemesi gerektiği anlamına gelir.
task_handle nesneleri genellikle C++ lambda'larla birlikte kullanılır. Lambdanın gerçek türünü bilmediğiniz için, make_task işlevi genellikle bir task_handle nesne oluşturmak için kullanılır.
Çalışma zamanı, bir nesneye geçirdiğiniz iş işlevinin bir task_handle kopyasını oluşturur. Bu nedenle, bir nesneye task_handle geçirdiğiniz bir işlev nesnesinde gerçekleşen durum değişiklikleri, bu işlev nesnesinin kopyanızda görünmez.
Devralma Hiyerarşisi
task_handle
Gereksinimler
Üst bilgi: ppl.h
Ad alanı: eşzamanlılık
operator()
Çalışma zamanının, görev tutamacının çalışmasını gerçekleştirmek için çağırdığı işlev çağrısı işleci.
void operator()() const;
görev_tanıma
Yeni task_handle bir nesne oluşturur. Görevin çalışması, oluşturucuya parametre olarak belirtilen işlev çağrılarak gerçekleştirilir.
task_handle(const _Function& _Func);
Parametreler
_Func
Çalışmayı yürütmek için task_handle nesnesi tarafından temsil edilen işlev çağrılacak. Bu bir lambda functor, bir işlev işaretçisi veya işlev çağrısı işlecinin imzalı void operator()()bir sürümünü destekleyen herhangi bir nesne olabilir.
Açıklamalar
Çalışma zamanı, oluşturucuya geçirdiğiniz iş işlevinin bir kopyasını oluşturur. Bu nedenle, bir nesneye task_handle geçirdiğiniz bir işlev nesnesinde gerçekleşen durum değişiklikleri, bu işlev nesnesinin kopyanızda görünmez.
~task_handle
task_handle nesnesini yok eder.
~task_handle();
Ayrıca bkz.
Eşzamanlılık Ad Alanı
task_group Sınıfı
structured_task_group Sınıfı