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
_ResultType
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üklendi. Görev tamamlama olayını ayarlar. |
set_exception | Aşırı yüklendi. Bu olayla ilişkili tüm görevlere bir özel durum yayılım. |
Açıklamalar
Senaryonuz tamamlanacak bir görev oluşturmanızı gerektirdiğinde ve böylece devamları gelecekte bir noktada yürütülmek üzere zamanlandığında, 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, görevden oluşturulan görevler yok edildiğinde iptal edilir.
task_completion_event
akıllı işaretçi gibi davranır ve değere göre geçirilmelidir.
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 olayın ayarlanacağı sonuç.
Dönüş Değeri
yöntemi, olayı ayarlamada başarılı olursa döndürür true
. Olay zaten ayarlanmışsa döndürür false
.
Açıklamalar
öğesine yapılan birden çok veya eşzamanlı çağrının set
varlığı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 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. Dışında void
bir _ResultType
değeri olan görev tamamlama nesneleri, değeri devamlılıklarına geçirir.
set_exception
Bu olayla ilişkili tüm görevlere bir özel durum yayılım.
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ç
Ayarlanacağı özel durum.
_ExceptionPtr
Ayarlanacağı özel durum işaretçisi.
Dönüş Değeri
task_completion_event
Bir task_completion_event
nesne oluşturur.
task_completion_event();