在C#中實現通用超時機制
與不可靠程式碼互動時,實作一種通用機制來執行具有定義逾時的特定程式碼區塊至關重要。這種通用方法可以應用於各種場景,並增強程式碼的健全性。
主要挑戰之一在於,如果超時,如何終止長時間運行的任務。為了克服這個問題,我們採用了一個包裝的委託。這個委託將執行緒傳遞給一個局部變量,從而允許在必要時中止線程。
提供的C#程式碼包含一個靜態方法CallWithTimeout
,該方法在指定的逾時時間內執行指定的操作。如果逾時,該方法將中止正在運行的執行緒並拋出TimeoutException
例外。
範例用法:
<code class="language-csharp">class Program { static void Main(string[] args) { // 五秒钟的方法,超时时间为六秒钟 CallWithTimeout(FiveSecondMethod, 6000); } static void FiveSecondMethod() { Thread.Sleep(5000); } }</code>
這段程式碼示範如何在C#中實現通用逾時機制,讓開發人員優雅地處理耗時任務並防止程式碼在執行過程中卡死。
以上是如何在 C# 中實現通用逾時以防止程式碼掛起?的詳細內容。更多資訊請關注PHP中文網其他相關文章!