>在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中文网其他相关文章!