TaskContinuationOptions 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
필드
| 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 속성이 아님 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다. |
| OnlyOnRanToCompletion | 393216 | 선행 작업이 완료될 때만 연속 작업을 예약하도록 지정합니다. 완료 시 해당 Status 속성이 1인 경우 선행 작업이 완료 RanToCompletion될 때 실행됩니다. 이 옵션은 다중 작업 연속 작업에는 유효하지 않습니다. |
| ExecuteSynchronously | 524288 | 연속 작업을 동기적으로 실행되도록 지정합니다. 이 옵션을 지정하면 선행 작업이 최종 상태로 전환되도록 하는 동일한 스레드에서 연속 작업이 실행됩니다. 연속 작업을 만들 때 선행 작업이 이미 완료된 경우 연속 작업을 만드는 스레드에서 연속이 실행됩니다. 선행 항목의 CancellationTokenSource 태스크가 동기적으로 실행되므로 호출 스레드가 태스크가 완료되기를 기다리는지 확인하는 등의 Wait() 메서드를 호출할 필요가 없습니다. |