task_handle Sınıfı
sınıfı tek task_handle
bir 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
Nesne tarafından temsil edilen çalışmayı yürütmek için çağrılacak işlev nesnesinin task_handle
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ı | Nesneyi yok eder task_handle . |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
operator() | Çalışma zamanının görev tutamacının çalışmasını gerçekleştirmek için çağıran 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.
Bir task_handle
nesnenin oluşturucusunun, concurrency Runtime tarafından artık gerekli kılınana kadar oluşturulan task_handle
nesnenin ömrünü korumakla sorumlu olduğunu unutmayın. Bu genellikle, kuyruğa alınan veya run_and_wait
yöntemi çağrılana kadar wait
nesnenin structured_task_group
task_group
yok edilmemesi gerektiği anlamına gelirtask_handle
.
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ğıran işlev çağrısı işleci.
void operator()() const;
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(const _Function& _Func);
Parametreler
_Func
Nesnesi tarafından task_handle
temsil edilen çalışmayı yürütmek için çağrılacak işlev. 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
Nesneyi yok eder task_handle
.
~task_handle();
Ayrıca bkz.
Eşzamanlılık Ad Alanı
task_group Sınıfı
structured_task_group Sınıfı