TaskContinuationOptions 열거형

정의

ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) 또는 ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) 메서드를 사용하여 만든 작업의 동작을 지정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class TaskContinuationOptions
[System.Flags]
public enum TaskContinuationOptions
[System.Flags]
[System.Serializable]
public enum TaskContinuationOptions
[<System.Flags>]
type TaskContinuationOptions = 
[<System.Flags>]
[<System.Serializable>]
type TaskContinuationOptions = 
Public Enum TaskContinuationOptions
상속
TaskContinuationOptions
특성

필드

Name Description
None 0

연속 옵션을 지정하지 않으면 연속을 실행할 때 기본 동작을 사용해야 한다고 지정합니다. 선행 작업의 최종 Status 속성 값에 관계없이 선행 작업이 완료되면 연속이 비동기적으로 실행됩니다. 연속 작업이 자식 작업인 경우 분리된 중첩 작업으로 만들어집니다.

PreferFairness 1

예약된 작업이 더 빨리 실행될 가능성이 높고 나중에 예약된 작업이 나중에 실행될 가능성이 높도록 예약된 순서대로 작업을 예약하는 힌트 TaskScheduler 입니다.

LongRunning 2

연속 작업이 장기 실행 과정으로 구성되도록 지정합니다. 초과 구독이 TaskScheduler 보증될 수 있다는 힌트를 제공합니다.

AttachedToParent 4

연속 작업이 자식 작업인 경우 작업 계층 구조의 부모에 연결되도록 지정합니다. 연속 작업은 선행 작업이 자식 작업인 경우에만 자식 작업이 될 수 있습니다. 기본적으로 자식 작업(즉, 외부 태스크에서 만든 내부 작업)은 부모와 독립적으로 실행됩니다. 부모 및 자식 작업이 동기화되도록 이 옵션을 사용할 AttachedToParent 수 있습니다.

부모 작업이 옵션을 AttachedToParent 사용하여 DenyChildAttach 구성된 경우 자식 태스크의 옵션은 적용되지 않으며 자식 작업은 분리된 자식 작업으로 실행됩니다.

자세한 내용은 연결된 자식 작업 및 분리된 자식 작업을 참조하세요.

DenyChildAttach 8

옵션을 사용하여 만들어지고 연결된 자식 작업으로 AttachedToParent 실행하려고 시도하는 자식 작업(즉, 이 연속으로 만든 중첩된 내부 작업)이 부모 작업에 연결할 수 없도록 지정하고 대신 분리된 자식 작업으로 실행됩니다. 자세한 내용은 연결된 자식 작업 및 분리된 자식 작업을 참조하세요.

HideScheduler 16

이 연속이 현재 스케줄러로 실행되는 스케줄러가 아닌 기본 스케줄러(Default)와 같은 Run(Action) 메서드를 호출하거나 ContinueWith(Action<Task>) 확인하여 연속 작업에서 만든 작업을 지정합니다.

LazyCancellation 32

연속 취소의 경우 선행 작업이 완료될 때까지 연속 작업이 완료되지 않도록 합니다.

RunContinuationsAsynchronously 64

연속 작업을 비동기적으로 실행되도록 지정합니다. 이 옵션은 .보다 ExecuteSynchronously우선 순위가 있습니다.

NotOnRanToCompletion 65536

선행 작업이 완료될 때 연속 작업을 예약하지 않도록 지정합니다. 완료 시 해당 Status 속성이 1인 경우 선행 작업이 완료 RanToCompletion될 때 실행됩니다. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

NotOnFaulted 131072

선행 작업에서 처리되지 않은 예외를 throw한 경우 연속 작업을 예약하지 않도록 지정합니다. 완료 시 해당 Status 속성이면 선행 작업에서 처리되지 않은 예외를 throw합니다 Faulted. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

OnlyOnCanceled 196608

선행 작업이 취소된 경우에만 연속 작업을 예약할 것을 지정합니다. 완료 시 해당 Status 속성이 .인 경우 선행 작업이 취소됩니다 Canceled. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

NotOnCanceled 262144

선행 작업이 취소된 경우 연속 작업을 예약하지 않도록 지정합니다. 완료 시 해당 Status 속성이 .인 경우 선행 작업이 취소됩니다 Canceled. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

OnlyOnFaulted 327680

연속 작업은 선행 작업에서 처리되지 않은 예외를 throw한 경우에만 예약되도록 지정합니다. 완료 시 해당 Status 속성이면 선행 작업에서 처리되지 않은 예외를 throw합니다 Faulted.

OnlyOnFaulted 옵션은 선행 항목의 Exception 속성이 아님 null을 보장합니다. 해당 속성을 사용하여 예외를 catch하고 태스크 오류를 발생시킨 예외를 확인할 수 있습니다. 속성에 Exception 액세스하지 않으면 예외가 처리되지 않습니다. 또한 취소되었거나 오류가 발생한 작업의 속성에 액세스 Result 하려고 하면 새 예외가 throw됩니다.

이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

OnlyOnRanToCompletion 393216

선행 작업이 완료될 때만 연속 작업을 예약하도록 지정합니다. 완료 시 해당 Status 속성이 1인 경우 선행 작업이 완료 RanToCompletion될 때 실행됩니다. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다.

ExecuteSynchronously 524288

연속 작업을 동기적으로 실행되도록 지정합니다. 이 옵션을 지정하면 선행 작업이 최종 상태로 전환되도록 하는 동일한 스레드에서 연속 작업이 실행됩니다. 연속 작업을 만들 때 선행 작업이 이미 완료된 경우 연속 작업을 만드는 스레드에서 연속이 실행됩니다. 선행 항목의 CancellationTokenSourcefinally 블록(Visual Basic Finally)에 삭제된 경우 이 옵션의 연속 작업은 해당 finally 블록에서 실행됩니다. 매우 짧은 실행 연속 작업만 동기적으로 실행되어야 합니다.

태스크가 동기적으로 실행되므로 호출 스레드가 태스크가 완료되기를 기다리는지 확인하는 등의 Wait() 메서드를 호출할 필요가 없습니다.

적용 대상