国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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

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

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

```csharp

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

```

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

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

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

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

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

標(biāo)簽: