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
- 상속
- 특성
필드
AttachedToParent | 4 | 연속 작업이 자식 작업인 경우 작업 계층 구조의 부모에 연결되도록 지정합니다. 연속 작업은 선행 작업도 자식 작업인 경우에만 자식 작업이 됩니다. 기본적으로 자식 작업(즉, 외부 작업이 만든 내부 작업)은 부모와 독립적으로 실행됩니다. AttachedToParent 옵션을 사용할 수 있어 부모와 자식 작업은 동기화됩니다. 부모 작업이 DenyChildAttach 옵션을 사용하여 구성된 경우 자식 작업의 AttachedToParent 옵션은 영향을 받지 않으며, 자식 작업은 분리된 자식 작업으로 실행됩니다. 자세한 내용은 연결된 자식 작업과 분리된 자식 작업을 참조하세요. |
DenyChildAttach | 8 | AttachedToParent 옵션으로 만들어지고 연결된 자식 작업으로 실행하려는 모든 자식 작업(이 연속 작업으로 만들어진 모든 중첩 내부 작업)은 부모 작업에 연결할 수 없고 대신 분리된 자식 작업으로 실행되도록 지정합니다. 자세한 내용은 연결된 자식 작업과 분리된 자식 작업을 참조하세요. |
ExecuteSynchronously | 524288 | 연속 작업이 동기적으로 실행되도록 지정합니다. 이 옵션을 지정하면 연속 작업이 같은 스레드에서 실행되어 선행 작업이 최종 상태로 전환됩니다. 연속 작업이 만들어질 때 선행 작업이 이미 완료된 경우 연속 작업은 해당 작업을 만드는 스레드에서 실행됩니다. 선행 작업의 CancellationTokenSource가 작업은 동기적으로 실행되므로, 호출 스레드가 작업이 완료되기를 기다리도록 하기 위해 Wait()와 같은 메서드를 호출할 필요가 없습니다. |
HideScheduler | 16 | Run(Action) 또는 ContinueWith(Action<Task>)와 같은 메서드를 호출함으로써 연속 작업에 의해 만들어진 작업이 이 연속 작업이 실행되는 스케줄러가 아닌 기본 스케줄러(Default)를 현재 스케줄러로 인식하도록 지정합니다. |
LazyCancellation | 32 | 연속 취소의 경우 선행이 완료되기 전에 연속이 완료되는 것을 방지합니다. |
LongRunning | 2 | 연속 작업이 장기 실행되는 성긴 작업이 되도록 지정합니다. 초과 구독을 보장할 수 있는 TaskScheduler에 대한 힌트를 제공합니다. |
None | 0 | 연속 작업 옵션이 지정되지 않은 경우, 연속 작업을 실행할 때 기본 동작을 사용하도록 지정합니다. 선행 작업의 최종 Status 속성 값에 관계없이 선행 작업이 완료되면 연속 작업이 비동기적으로 실행됩니다. 연속 작업이 자식 작업인 경우 분리된 중첩 작업으로 만들어집니다. |
NotOnCanceled | 262144 | 선행 작업이 취소된 경우 연속 작업이 예약되지 않도록 지정합니다. 완료 시 선행 작업의 Status 속성이 Canceled이면 작업이 취소됩니다. 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
NotOnFaulted | 131072 | 선행 작업이 처리되지 않은 예외를 throw한 경우 연속 작업이 예약되지 않도록 지정합니다. 완료 시 선행 작업의 Status 속성이 Faulted이면 처리되지 않은 예외가 발생합니다. 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
NotOnRanToCompletion | 65536 | 선행 작업의 실행이 완료된 경우 연속 작업이 예약되지 않도록 지정합니다. 완료 시 선행 작업의 Status 속성이 RanToCompletion이면 작업이 끝까지 실행됩니다. 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
OnlyOnCanceled | 196608 | 선행 작업이 취소된 경우에만 연속 작업이 예약되도록 지정합니다. 완료 시 선행 작업의 Status 속성이 Canceled이면 작업이 취소됩니다. 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
OnlyOnFaulted | 327680 | 선행 작업이 처리되지 않은 예외를 throw한 경우에만 연속 작업이 예약되도록 지정합니다. 완료 시 선행 작업의 Status 속성이 Faulted이면 처리되지 않은 예외가 발생합니다. OnlyOnFaulted 옵션은 선행 작업의 Exception 속성이 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
OnlyOnRanToCompletion | 393216 | 선행 작업의 실행이 완료된 경우에만 연속 작업이 예약되도록 지정합니다. 완료 시 선행 작업의 Status 속성이 RanToCompletion이면 작업이 끝까지 실행됩니다. 이 옵션은 다중 작업 연속에 유효하지 않습니다. |
PreferFairness | 1 | 더 일찍 예약된 작업을 먼저 실행하고 나중에 예약된 작업을 나중에 실행할 수 있도록 예약된 순서대로 작업을 예약하도록 TaskScheduler에 알려줍니다. |
RunContinuationsAsynchronously | 64 | 연속 작업이 비동기 방식으로 실행되도록 지정합니다. 이 옵션은 ExecuteSynchronously보다 우선합니다. |