Aracılığıyla paylaş


task::task Oluşturucusu (C++ REST SDK)

task nesnesi oluşturur.

task();

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param);

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);

task(
   const task& _Other
);

task(
   task&& _Other
);

Parametreler

  • _Ty
    Görevin kendisinden oluşturulacağı parametrenin türü.

  • _Param
    Görevin kendisinden oluşturulacağı parametre.Windows Mağazası uygulamanızda görevler kullanıyorsanız, bu bir lambda, bir işlev nesnesi, bir task_completion_event<result_type> nesnesi veya bir Windows::Foundation::IAsyncInfo olabilir.Lambda veya işlev nesnesi std::function<X(void)> öğesinin tür eşdeğeri olmalıdır; burada X result_type, task<result_type> veya Windows Mağazası uygulamalarındaki bir Windows::Foundation::IAsyncInfo türünde bir değişken olabilir.

  • _TaskOptions
    Görev seçenekleri iptal belirteci, zamanlayıcı vb. içerir.

  • _Other
    Kaynak task nesnesi.

Notlar

task için varsayılan oluşturucu yalnızca kapsayıcılarda kullanılacak görevlere izin vermek için vardır.Siz geçerli bir görev atayıncaya kadar oluşturulmuş varsayılan görev kullanılamaz.get, wait gibi veya then yöntemler, varsayılan oluşturulmuş göreve çağrıldığında invalid_argument (geçersiz bağımsız değişken) özel durumu oluşacaktır.

Görev tamamlama olayı ayarlandığında, task_completion_event içinden oluşturulan bir görev tamamlanır (ve devamlılıkları zamanlanır).

İptali belirteci alan oluşturucu sürümü, belirtecin elde edildiği cancellation_token_source kullanarak iptal edebilecek bir görev oluşturur.İptal belirteci olmadan oluşturulmuş görevler iptal edilemez.

Bir Windows::Foundation::IAsyncInfo arabiriminden oluşturulan görevler veya bir IAsyncInfo arabirimi döndüren bir lambda, kapalı Windows Çalışma Zamanı zaman uyumsuz işlem veya eylem tamamlandığında terminal durumuna ulaşırlar.Benzer şekilde, task<result_type> döndüren bir lamdadan oluşturulan görevler, bir iç görev terminal durumuna ulaştığında ve lamda döndürmediği zaman terminal durumuna ulaşır.

task akıllı bir işaretçi gibi davranır ve değerine göre etrafından geçirmek güvenlidir.Kilide gerek kalmadan birden çok iş parçacığı tarafından erişilebilir.

Bir Windows::Foundation::IAsyncInfo arabirimi veya böyle bir arabirim döndüren bir lambda alan Oluşturucu aşırı yüklemeleri yalnızca Windows Mağazası uygulamaları için kullanılabilir.

Daha fazla bilgi için bkz. Görev Parallelliği (Eşzamanlılık Çalışma Zamanı).

Gereksinimler

Başlık: pplxtasks.h

Ad Alanı: pplx

Ayrıca bkz.

Başvuru

task Sınıfı