>在C#/XAML Metro樣式應用程序中管理異步任務 在C#/XAML Metro Style應用程序中,使用/
對長期運行的操作進行處理,對於防止UI凍結至關重要。 但是,需要根據用戶互動來暫停和恢復這些操作的情況。async
>利用Smaphoreslim進行事件驅動的暫停await
類為基於事件的懸架提供了優雅的解決方案:
對象,初始計數為0,最大計數為1:SemaphoreSlim
>
SemaphoreSlim
)中,等待信號信號:private SemaphoreSlim signal = new SemaphoreSlim(0, 1);
signal.Release();
GetResults
另一種有效的方法涉及await signal.WaitAsync();
類:聲明A:
在“繼續”按鈕上,單擊,設置任務的結果:TaskCompletionSource<bool>
TaskCompletionSource<bool>
>
private TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>();
事件驅動的暫停/簡歷的優勢tcs.SetResult(true);
await tcs.Task;
>以上是如何在C#/XAML Metro應用中暫停和恢復異步操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!