Aracılığıyla paylaş


TaskScheduler.TryExecuteTaskInline(Task, Boolean) Yöntem

Tanım

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

task
Task

Task yürütülecek.

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

Boolean

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.

Şunlara uygulanır

Ayrıca bkz.