卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何在UWP C中實現(xiàn)async task的超時取消

本文將介紹在UWP C中實現(xiàn)async task的超時取消的方法,包括官方寫法和更多控制的寫法。首先,我們常見的網(wǎng)絡請求發(fā)送代碼如下:```csharp// 網(wǎng)絡請求發(fā)送代碼示例```然而,使用awa

本文將介紹在UWP C中實現(xiàn)async task的超時取消的方法,包括官方寫法和更多控制的寫法。首先,我們常見的網(wǎng)絡請求發(fā)送代碼如下:

```csharp

// 網(wǎng)絡請求發(fā)送代碼示例

```

然而,使用await可能會導致長時間等待無法獲取結果。微軟開發(fā)者文檔提供了一種解決方案,即創(chuàng)建cts并設置超時時間后發(fā)送取消請求,再在調用異步任務時傳入。這種方法能夠在超時后自動取消任務,但用戶無法選擇是否繼續(xù)等待。

若希望用戶能夠選擇繼續(xù)等待或取消任務,在此之前需要手動控制cts的Cancel請求。具體做法是先通過AsTask獲取Task,然后使用Delay等待一段時間,并根據(jù)需求處理500毫秒后請求未完成的情況。然而,這種方式可能造成無謂的等待。

為了減少等待時間的浪費,可以通過循環(huán)每次等待50毫秒的方式來實現(xiàn)更高效的邏輯。完整的實現(xiàn)如下圖所示,當?shù)却?秒時提示用戶,等待10秒時詢問用戶是否繼續(xù)等待。

最終效果顯示,由于每50毫秒檢查一次狀態(tài),程序在等待過程中未觀察到明顯的CPU占用率變化,也沒有感受到程序變慢。

以上是在UWP C中實現(xiàn)async task的超時取消的方法,通過合理的控制和優(yōu)化,能夠有效地管理異步任務的執(zhí)行時間。

標簽: