> 백엔드 개발 > C++ > 코드 중단을 방지하기 위해 C#에서 일반 시간 초과를 구현하는 방법은 무엇입니까?

코드 중단을 방지하기 위해 C#에서 일반 시간 초과를 구현하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-23 11:57:10
원래의
240명이 탐색했습니다.

How to Implement Generic Timeouts in C# to Prevent Code from Hanging?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿