JoinableTaskFactory.Run 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.
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
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
- 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
- creationOptions
- JoinableTaskCreationOptions
görevin JoinableTaskCreationOptions davranışını özelleştirmek için kullanılır.
Döndürülenler
tarafından asyncMethod
dö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
Döndürülenler
tarafından asyncMethod
dö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.