task_completion_event Sınıfı

sınıfı, task_completion_event bir koşul karşılanana kadar görevin yürütülmesini geciktirmenize veya bir dış olaya yanıt olarak bir görev başlatmanıza olanak tanır.

Sözdizimi

template<typename _ResultType>
class task_completion_event;

template<>
class task_completion_event<void>;

Parametreler

_SonuçTipi
Bu task_completion_event sınıfın sonuç türü.

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
task_completion_event Bir task_completion_event nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
set Aşırı yüklü Görev tamamlama olayını ayarlar.
set_exception Aşırı yüklü İstisnayı, bu olayla ilişkili tüm görevlere yayar.

Açıklamalar

Senaryonuz, gelecekte bir noktada tamamlanacak ve devamları yürütülmek üzere zamanlanacak bir görev oluşturmanızı gerektirdiğinde, bir görev tamamlama olayından oluşturulan bir görevi kullanın. , task_completion_event oluşturduğunuz görevle aynı türe sahip olmalıdır ve bu tür bir değerle görev tamamlama olayında set yöntemini çağırmak, ilişkili görevin tamamlanmasına neden olur ve bu değeri devamlılıklarının sonucu olarak sağlar.

Görev tamamlama olayı hiçbir zaman işaretlenmezse, bu olaydan oluşturulan görevler olay yok edildiğinde iptal edilir.

task_completion_event akıllı işaretçi gibi davranır ve değer olarak aktarılmalıdır.

Devralma Hiyerarşisi

task_completion_event

Gereksinimler

Üst bilgi: ppltasks.h

Ad alanı: eşzamanlılık

set

Görev tamamlama olayını ayarlar.

bool set(_ResultType _Result) const ;

bool set() const ;

Parametreler

_Sonuç
Bu etkinlik için ayarlanacak sonuç.

Dönüş Değeri

Yöntem, etkinliği ayarlamada başarılı olursa true döndürür. Olay zaten ayarlanmışsa false değerini döndürür.

Açıklamalar

öğesine yapılan birden çok veya eşzamanlı çağrının setvarlığında yalnızca ilk çağrı başarılı olur ve sonucu (varsa) görev tamamlama olayında depolanır. Kalan kümeler yoksayılır ve yöntem "false" değerini döndürür. Bir görev tamamlama olayı ayarladığınızda, bu olaydan oluşturulan tüm görevler hemen tamamlanır ve varsa devamları zamanlanır. void farklı bir _ResultType değerine sahip görev tamamlama nesneleri, değeri devamlılıklarına iletir.

set_exception

Bu olayla ilişkili tüm görevlere bir istisna yayar.

template<typename _E>
__declspec(noinline) bool set_exception(_E _Except) const;

__declspec(noinline) bool set_exception(std::exception_ptr _ExceptionPtr) const ;

Parametreler

_E
Özel durum türü.

_Hariç
Ayarlanacak özel durum.

_ExceptionPtr
Ayarlanacak özel durum işaretçisi.

Dönüş Değeri

görev_tamamlanma_olayı

Bir task_completion_event nesne oluşturur.

task_completion_event();

Ayrıca bkz.

Eşzamanlılık Ad Alanı