TaskScheduler.TryExecuteTaskInline(Task, Boolean) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sağlanan Task öğesinin bu çağrıda zaman uyumlu olarak yürütülip yürütülemeyeceğini belirler ve yürütebilirse yürütür.
protected:
abstract bool TryExecuteTaskInline(System::Threading::Tasks::Task ^ task, bool taskWasPreviouslyQueued);
[System.Security.SecurityCritical]
protected abstract bool TryExecuteTaskInline (System.Threading.Tasks.Task task, bool taskWasPreviouslyQueued);
protected abstract bool TryExecuteTaskInline (System.Threading.Tasks.Task task, bool taskWasPreviouslyQueued);
[<System.Security.SecurityCritical>]
abstract member TryExecuteTaskInline : System.Threading.Tasks.Task * bool -> bool
abstract member TryExecuteTaskInline : System.Threading.Tasks.Task * bool -> bool
Protected MustOverride Function TryExecuteTaskInline (task As Task, taskWasPreviouslyQueued As Boolean) As Boolean
Parametreler
- taskWasPreviouslyQueued
- Boolean
Görevin daha önce kuyruğa alınıp alınmadığını belirten bir Boole değeri. Bu parametre True ise, görev daha önce kuyruğa alınmış (zamanlanmış) olabilir; False ise, görevin kuyruğa alınmadığı bilinir ve görevi kuyruğa almadan satır içi yürütmek için bu çağrı yapılır.
Döndürülenler
Görevin satır içinde yürütülip yürütülmediğini gösteren bir Boole değeri.
- Öznitelikler
Özel durumlar
Bağımsız task
değişken null.
task
zaten yürütüldü.
Açıklamalar
öğesinden TaskScheduler türetilen bir sınıf, bu görev nesnesi üzerinde bekleme başlatan bir iş parçacığında bir görevin satır içi yürütülmesini desteklemek için bu işlevi uygular. Satır içi yürütme isteğe bağlıdır ve istek false döndürülerek reddedilebilir. Bununla birlikte, ne kadar çok görev inlinedilebilirse, zamanlayıcı o kadar iyi ölçeklendirilir. Aslında, satır içi çok az olan bir zamanlayıcı kilitlenmelere eğilimli olabilir. Uygun bir uygulama, zamanlayıcı tarafından garanti edilen ilkeler altında yürütülen bir isteğin başarıyla satır içi olmasını sağlamalıdır. Örneğin, bir zamanlayıcı görevleri yürütmek için ayrılmış bir iş parçacığı kullanırsa, bu iş parçacığından gelen tüm gelen isteklerin başarılı olması gerekir.
Bir zamanlayıcı satır içi yürütmeyi gerçekleştirmeye karar verirse, sağlanan görev nesnesiyle temel TaskScheduler'ın TryExecuteTask yöntemine çağrı yaparak dönüş değerini yayarak bunu yapmalıdır. Ayrıca, zamanlayıcının iç veri yapılarından bir iç veri yapısından gelen bir görevi kaldırması için de uygun olabilir. Ancak, bazı durumlarda zamanlayıcıdan daha önce yöntemiyle sağlanmamış bir görevi satır içine almalarının QueueTask istenebileceğini unutmayın.
Türetilmiş zamanlayıcı, çağıran iş parçacığının kendi zamanlama ve yürütme ilkeleri söz konusu olduğunda verilen görevi yürütmek için uygun olduğundan emin olmakla sorumludur.
Daha fazla bilgi için bkz. TaskScheduler.