ControlledExecution.Run(Action, CancellationToken) 메서드

정의

주의

ControlledExecution.Run method may corrupt the process and should not be used in production code.

비동기적으로 중단될 수 있는 코드를 실행합니다.

public:
 static void Run(Action ^ action, System::Threading::CancellationToken cancellationToken);
[System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void Run(Action action, System.Threading.CancellationToken cancellationToken);
[<System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Run : Action * System.Threading.CancellationToken -> unit
Public Shared Sub Run (action As Action, cancellationToken As CancellationToken)

매개 변수

action
Action

실행할 코드를 나타내는 대리자입니다.

cancellationToken
CancellationToken

실행을 중단하는 데 사용할 수 있는 취소 토큰입니다.

특성

예외

이 플랫폼에서는 메서드가 지원되지 않습니다.

인수는 action .입니다 null.

현재 스레드가 이미 메서드를 실행하고 있습니다 Run(Action, CancellationToken) .

실행이 중단되었습니다.

설명

이 메서드를 사용하면 해당 코드를 실행하는 스레드에서 예외를 throw하여 비조합 방식으로 임의 관리 코드를 중단할 수 있습니다. 코드에서 예외를 catch할 수 있지만 실행 흐름이 메서드로 반환 ControlledExecution.Run 될 때까지 블록 끝에서 catch 다시 throw됩니다.

코드 실행이 즉시 또는 전혀 중단되지는 않습니다. 예를 들어 스레드가 중단 프로시저의 일부로 호출되는 비관리 코드 또는 catch 블록 실행을 finally 중단하여 중단이 무기한 지연되는 경우 이러한 상황이 발생할 수 있습니다. 또한 스레드가 현재 catch 실행 중이거나 finally 차단된 경우 실행이 즉시 중단되지 않을 수 있습니다.

예기치 않은 위치에서 코드를 중단하면 프로세스의 데이터 구조 상태가 손상되어 예측할 수 없는 결과가 발생할 수 있습니다. 이러한 이유로 이 메서드는 프로덕션 코드에서 사용해서는 안 되며 호출하면 컴파일 시간 경고가 생성됩니다.

적용 대상