JoinableTaskFactory.Run Yöntem

Tanım

Aşırı Yüklemeler

Run(Func<Task>)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

Run(Func<Task>, JoinableTaskCreationOptions)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

Run<T>(Func<Task<T>>)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

Run(Func<Task>)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

public:
 void Run(Func<System::Threading::Tasks::Task ^> ^ asyncMethod);
public void Run (Func<System.Threading.Tasks.Task> asyncMethod);
member this.Run : Func<System.Threading.Tasks.Task> -> unit
Public Sub Run (asyncMethod As Func(Of Task))

Parametreler

asyncMethod
Func<Task>

Yürütülecek zaman uyumsuz yöntem.

Açıklamalar

Temsilci tarafından oluşan herhangi bir özel durum, özgün türünde bu yöntemin çağıranı için yeniden oluşturulur.

Temsilci bir bekleme durumundan devam ettiğinde, varsayılan davranış normal bir zaman uyumsuz yöntem yürütmesi gibi özgün bağlamında devam etmektir. Örneğin, çağıran ana iş parçacığındaysa yürütme, ana iş parçacığında bir await sonrasında devam eder; ancak bir threadpool iş parçacığında başlatıldıysa, bir iş parçacığı havuzu iş parçacığında devam eder.

// On threadpool or Main thread, this method will block
// the calling thread until all async operations in the
// delegate complete.
joinableTaskFactory.Run(async delegate {
    // still on the threadpool or Main thread as before.
    await OperationAsync();
    // still on the threadpool or Main thread as before.
    await Task.Run(async delegate {
         // Now we're on a threadpool thread.
         await Task.Yield();
         // still on a threadpool thread.
    });
    // Now back on the Main thread (or threadpool thread if that's where we started).
});

Şunlara uygulanır

Run(Func<Task>, JoinableTaskCreationOptions)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

public:
 void Run(Func<System::Threading::Tasks::Task ^> ^ asyncMethod, Microsoft::VisualStudio::Threading::JoinableTaskCreationOptions creationOptions);
public void Run (Func<System.Threading.Tasks.Task> asyncMethod, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions creationOptions);
member this.Run : Func<System.Threading.Tasks.Task> * Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions -> unit
Public Sub Run (asyncMethod As Func(Of Task), creationOptions As JoinableTaskCreationOptions)

Parametreler

asyncMethod
Func<Task>

Yürütülecek zaman uyumsuz yöntem.

creationOptions
JoinableTaskCreationOptions

görevin JoinableTaskCreationOptions davranışını özelleştirmek için kullanılır.

Şunlara uygulanır

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

public:
generic <typename T>
 T Run(Func<System::Threading::Tasks::Task<T> ^> ^ asyncMethod, Microsoft::VisualStudio::Threading::JoinableTaskCreationOptions creationOptions);
public T Run<T> (Func<System.Threading.Tasks.Task<T>> asyncMethod, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions creationOptions);
member this.Run : Func<System.Threading.Tasks.Task<'T>> * Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions -> 'T
Public Function Run(Of T) (asyncMethod As Func(Of Task(Of T)), creationOptions As JoinableTaskCreationOptions) As T

Tür Parametreleri

T

Zaman uyumsuz işlem tarafından döndürülen değerin türü.

Parametreler

asyncMethod
Func<Task<T>>

Yürütülecek zaman uyumsuz yöntem.

creationOptions
JoinableTaskCreationOptions

görevin JoinableTaskCreationOptions davranışını özelleştirmek için kullanılır.

Döndürülenler

T

tarafından asyncMethoddöndürülen Görevin sonucu.

Açıklamalar

Temsilci tarafından oluşan herhangi bir özel durum, özgün türünde bu yöntemin çağıranı için yeniden oluşturulur.

Temsilci bir bekleme durumundan devam ettiğinde, varsayılan davranış normal bir zaman uyumsuz yöntem yürütmesi gibi özgün bağlamında devam etmektir. Örneğin, çağıran ana iş parçacığındaysa yürütme, ana iş parçacığında bir await sonrasında devam eder; ancak bir threadpool iş parçacığında başlatıldıysa, bir iş parçacığı havuzu iş parçacığında devam eder.

// On threadpool or Main thread, this method will block
// the calling thread until all async operations in the
// delegate complete.
joinableTaskFactory.Run(async delegate {
    // still on the threadpool or Main thread as before.
    await OperationAsync();
    // still on the threadpool or Main thread as before.
    await Task.Run(async delegate {
         // Now we're on a threadpool thread.
         await Task.Yield();
         // still on a threadpool thread.
    });
    // Now back on the Main thread (or threadpool thread if that's where we started).
});

Şunlara uygulanır

Run<T>(Func<Task<T>>)

Belirtilen zaman uyumsuz yöntemi tamamlanmak üzere çalıştırırken, çağıran iş parçacığını zaman uyumlu olarak engeller.

public:
generic <typename T>
 T Run(Func<System::Threading::Tasks::Task<T> ^> ^ asyncMethod);
public T Run<T> (Func<System.Threading.Tasks.Task<T>> asyncMethod);
member this.Run : Func<System.Threading.Tasks.Task<'T>> -> 'T
Public Function Run(Of T) (asyncMethod As Func(Of Task(Of T))) As T

Tür Parametreleri

T

Zaman uyumsuz işlem tarafından döndürülen değerin türü.

Parametreler

asyncMethod
Func<Task<T>>

Yürütülecek zaman uyumsuz yöntem.

Döndürülenler

T

tarafından asyncMethoddöndürülen Görevin sonucu.

Açıklamalar

Temsilci tarafından oluşan herhangi bir özel durum, özgün türünde bu yöntemin çağıranı için yeniden oluşturulur.

Temsilci bir bekleme durumundan devam ettiğinde, varsayılan davranış normal bir zaman uyumsuz yöntem yürütmesi gibi özgün bağlamında devam etmektir. Örneğin, çağıran ana iş parçacığındaysa yürütme, ana iş parçacığında bir await sonrasında devam eder; ancak bir threadpool iş parçacığında başlatıldıysa, bir iş parçacığı havuzu iş parçacığında devam eder.

Run(Func<Task>) Örnek için aşırı yükleme belgelerine bakın.

Şunlara uygulanır