Task.WhenAny 메서드

정의

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

오버로드

Name Description
WhenAny(Task, Task)

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

WhenAny(Task[])

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny(ReadOnlySpan<Task>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny(IEnumerable<Task>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(IEnumerable<Task<TResult>>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(Task<TResult>[])

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

WhenAny<TResult>(Task<TResult>, Task<TResult>)

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

WhenAny(Task, Task)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(System::Threading::Tasks::Task ^ task1, System::Threading::Tasks::Task ^ task2);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny(System.Threading.Tasks.Task task1, System.Threading.Tasks.Task task2);
static member WhenAny : System.Threading.Tasks.Task * System.Threading.Tasks.Task -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (task1 As Task, task2 As Task) As Task(Of Task)

매개 변수

task1
Task

완료될 때까지 대기할 첫 번째 작업입니다.

task2
Task

완료될 때까지 대기할 두 번째 작업입니다.

반품

제공된 작업 중 하나의 완료를 나타내는 새 작업입니다. 먼저 Result 완료된 작업입니다.

예외

task1 또는 task2 입니다 null.

설명

반환된 작업은 제공된 작업이 완료되면 완료됩니다. 반환된 작업은 항상 완료할 첫 번째 작업으로 Result 설정된 상태로 끝납니다RanToCompletion. 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

적용 대상

WhenAny(Task[])

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(... cli::array <System::Threading::Tasks::Task ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny(params System.Threading.Tasks.Task[] tasks);
static member WhenAny : System.Threading.Tasks.Task[] -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (ParamArray tasks As Task()) As Task(Of Task)

매개 변수

tasks
Task[]

완료될 때까지 대기할 작업입니다.

반품

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

인수가 tasks null이었습니다.

배열에 tasks null 작업이 포함되었거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 완료할 첫 번째 작업으로 RanToCompletion 설정된 상태로 항상 종료 Result 됩니다. 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

적용 대상

WhenAny(ReadOnlySpan<Task>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(ReadOnlySpan<System::Threading::Tasks::Task ^> tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny(scoped ReadOnlySpan<System.Threading.Tasks.Task> tasks);
static member WhenAny : ReadOnlySpan<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (tasks As ReadOnlySpan(Of Task)) As Task(Of Task)

매개 변수

tasks
ReadOnlySpan<Task>

완료될 때까지 대기할 작업입니다.

반품

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

배열에 tasks 태스크가 null 포함되거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 항상 RanToCompletion 상태로 종료되며, 결과는 완료할 첫 번째 작업으로 설정됩니다. true 이는 완료할 첫 번째 작업이 취소됨 또는 오류 상태로 종료된 경우에도 발생합니다.

적용 대상

WhenAny(IEnumerable<Task>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task ^> ^ WhenAny(System::Collections::Generic::IEnumerable<System::Threading::Tasks::Task ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task> WhenAny(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task> tasks);
static member WhenAny : seq<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task>
Public Shared Function WhenAny (tasks As IEnumerable(Of Task)) As Task(Of Task)

매개 변수

tasks
IEnumerable<Task>

완료될 때까지 대기할 작업입니다.

반품

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

인수는 tasks .입니다 null.

배열에 tasks null 작업이 포함되었거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 항상 결과가 완료될 첫 번째 작업으로 설정된 상태로 끝납니다 RanToCompletion . 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

적용 대상

WhenAny<TResult>(IEnumerable<Task<TResult>>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(System::Collections::Generic::IEnumerable<System::Threading::Tasks::Task<TResult> ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult>(System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task<TResult>> tasks);
static member WhenAny : seq<System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (tasks As IEnumerable(Of Task(Of TResult))) As Task(Of Task(Of TResult))

형식 매개 변수

TResult

완료된 작업의 형식입니다.

매개 변수

tasks
IEnumerable<Task<TResult>>

완료될 때까지 대기할 작업입니다.

반품

Task<Task<TResult>>

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

인수는 tasks .입니다 null.

배열에 tasks null 작업이 포함되었거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 완료할 첫 번째 작업으로 RanToCompletion 설정된 상태로 항상 종료 Result 됩니다. 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

적용 대상

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(ReadOnlySpan<System::Threading::Tasks::Task<TResult> ^> tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult>(scoped ReadOnlySpan<System.Threading.Tasks.Task<TResult>> tasks);
static member WhenAny : ReadOnlySpan<System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (tasks As ReadOnlySpan(Of Task(Of TResult))) As Task(Of Task(Of TResult))

형식 매개 변수

TResult

태스크에서 반환된 결과의 형식입니다.

매개 변수

tasks
ReadOnlySpan<Task<TResult>>

완료될 때까지 대기할 작업입니다.

반품

Task<Task<TResult>>

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

배열에 tasks 태스크가 null 포함되거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 항상 RanToCompletion 상태로 종료되며, 결과는 완료할 첫 번째 작업으로 설정됩니다. true 이는 완료할 첫 번째 작업이 취소됨 또는 오류 상태로 종료된 경우에도 발생합니다.

적용 대상

WhenAny<TResult>(Task<TResult>[])

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업이 완료되면 완료되는 작업을 만듭니다.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(... cli::array <System::Threading::Tasks::Task<TResult> ^> ^ tasks);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult>(params System.Threading.Tasks.Task<TResult>[] tasks);
static member WhenAny : System.Threading.Tasks.Task<'Result>[] -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (ParamArray tasks As Task(Of TResult)()) As Task(Of Task(Of TResult))

형식 매개 변수

TResult

완료된 작업의 형식입니다.

매개 변수

tasks
Task<TResult>[]

완료될 때까지 대기할 작업입니다.

반품

Task<Task<TResult>>

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환 작업의 결과는 완료된 작업입니다.

예외

인수가 tasks null이었습니다.

배열에 tasks null 작업이 포함되었거나 비어 있습니다.

설명

제공된 작업이 완료되면 반환된 작업이 완료됩니다. 반환된 작업은 완료할 첫 번째 작업으로 RanToCompletion 설정된 상태로 항상 종료 Result 됩니다. 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

적용 대상

WhenAny<TResult>(Task<TResult>, Task<TResult>)

Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs
Source:
Task.cs

제공된 작업 중 하나가 완료되면 완료되는 작업을 만듭니다.

public:
generic <typename TResult>
 static System::Threading::Tasks::Task<System::Threading::Tasks::Task<TResult> ^> ^ WhenAny(System::Threading::Tasks::Task<TResult> ^ task1, System::Threading::Tasks::Task<TResult> ^ task2);
public static System.Threading.Tasks.Task<System.Threading.Tasks.Task<TResult>> WhenAny<TResult>(System.Threading.Tasks.Task<TResult> task1, System.Threading.Tasks.Task<TResult> task2);
static member WhenAny : System.Threading.Tasks.Task<'Result> * System.Threading.Tasks.Task<'Result> -> System.Threading.Tasks.Task<System.Threading.Tasks.Task<'Result>>
Public Shared Function WhenAny(Of TResult) (task1 As Task(Of TResult), task2 As Task(Of TResult)) As Task(Of Task(Of TResult))

형식 매개 변수

TResult

반환된 작업의 결과 형식입니다.

매개 변수

task1
Task<TResult>

완료될 때까지 대기할 첫 번째 작업입니다.

task2
Task<TResult>

완료될 때까지 대기할 두 번째 작업입니다.

반품

Task<Task<TResult>>

제공된 작업 중 하나의 완료를 나타내는 작업입니다. 반환된 작업은 TResult 먼저 완료된 작업입니다.

예외

task1 또는 task2 입니다 null.

설명

반환된 작업은 제공된 작업이 완료되면 완료됩니다. 반환된 작업은 항상 완료할 첫 번째 작업으로 Result 설정된 상태로 끝납니다RanToCompletion. 완료할 첫 번째 작업이 또는 Canceled 상태에서 종료 Faulted 된 경우에도 마찬가지입니다.

Tip

Task.WhenAny()의 모든 오버로드에서 메서드가 첫 번째 완료된 작업을 반환할 때 다른 태스크는 완료될 때까지 계속 실행됩니다(또는 Faulted 상태에서 완료된 Canceled 작업이 있는 경우에도). 해당 동작이 바람직하지 않은 경우 첫 번째 작업이 완료되면 나머지 작업을 모두 취소할 수 있습니다.

적용 대상