正確釋放 CancellationTokenSource 資源
在.NET中,CancellationTokenSource
用於管理執行緒取消,需要明確釋放以避免資源外洩。雖然MSDN範例中經常省略此步驟,但正確管理資源至關重要。
為什麼需要釋放 CancellationTokenSource?
CancellationTokenSource
使用非託管資源(例如,核心事件),必須清理這些資源以防止記憶體洩漏。 CancellationTokenSource
對象,因為它沒有終結器。 正確的釋放方法
using
語句自動釋放令牌來源。 ContinueWith
方法附加到任務中,該方法在令牌來源上呼叫 Dispose()
。 Dispose()
。 可重複使用性
CancellationTokenSource
不可重複使用。啟動任務或 PLINQ 查詢後,請建立新的令牌來源。不支援重置 IsCancellationRequested
和 Token
。
推薦策略
為了有效管理多個 CancellationTokenSource
實例,請考慮以下方法:
using
語句(例如,等待並行任務時)。 ContinueWith
或明確釋放) 。 以上是何時應處置 CancellationTokenSource?的詳細內容。更多資訊請關注PHP中文網其他相關文章!