Aracılığıyla paylaş


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

Ad Tanım
task_completion_event Bir task_completion_event nesne oluşturur.

Genel Yöntemler

Ad Tanım
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ç.

İade 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 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 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ü.

_Dışında
Ayarlanacağı özel durum.

_ExceptionPtr
Ayarlanacağı özel durum işaretçisi.

İade Değeri

task_completion_event

Bir task_completion_event nesne oluşturur.

task_completion_event();

Ayrıca bkz.

Eşzamanlılık Ad Alanı