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 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 bu çağrı görevi kuyruğa almadan satır içi olarak yürütmek için yapılır.

Döndürülenler

Görevin satır içinde yürütülip yürütülmediğini gösteren 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 beklemeyi 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. Ancak, ne kadar çok görev çizilebilirse 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ıyorsa, bu iş parçacığından gelen tüm inlining istekleri başarılı olmalıdır.

Bir zamanlayıcı satır içi yürütmeyi gerçekleştirmeye karar verirse, sağlanan görev nesnesiyle temel TaskScheduler 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 gelen bir görevi, gelen isteği yerine getirmek için karar verirse kaldırması da 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.