task_handle Sınıfı

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ı