XCode 16.4 日本語化計画
動的に作成された子タスクを含むグループ。
@frozen struct TaskGroup<ChildTaskResult> where ChildTaskResult : Sendable
タスクグループを作成するには、withTaskGroup(of:returning:body:) メソッドを呼び出します。
タスクグループを、それを作成したタスクの外部から使用しないでください。ほとんどの場合、Swift の型システムは、タスクグループがこのようにエスケープすることを防止します。これは、子タスクをタスクグループに追加することは変更操作であり、子タスクのような同時実行コンテキストからは変更操作を実行できないためです。
タスクグループに追加されたタスクは同時に実行され、任意の順序でスケジュールできます。
タスクグループは、以下のいずれかの方法でキャンセルされます。
TaskGroup は構造化された並行処理基本要素であるため、キャンセルはすべての子タスク(およびその子タスク)に自動的に伝播されます。
キャンセルされたタスクグループは引き続きタスクを追加できますが、すぐにキャンセルが開始され、それに応じて動作する場合があります。既にキャンセルされたタスクグループに新しいタスクが追加されないようにするには、無条件にタスクを追加する単純な addTask(name:priority:body:) ではなく、 addTaskUnlessCancelled(name:priority:body:) を使用してください。
TaskGroup が含まれる言語レベルの同時実行モデルの詳細については、Swift プログラミング言語 の 同時実行 を参照してください。
グループに子タスクを追加します。
グループがキャンセルされていない限り、グループに子タスクを追加します。タスクがグループに正常に追加されたかどうかを示すブール値を返します。
func next(isolation: isolated (any Actor)?) async -> ChildTaskResult?
次の子タスクが完了するまで待機し、返された値を返します。
グループに残りのタスクがあるかどうかを示すブール値。
func waitForAll(isolation: isolated (any Actor)?) async
グループの残りのタスクがすべて完了するまで待ちます。
func makeAsyncIterator() -> TaskGroup<ChildTaskResult>.Iterator
この非同期シーケンスの要素を生成する非同期反復子を作成します。
func allSatisfy((Self.Element) async throws -> Bool) async rethrows -> Bool
非同期シーケンスによって生成されたすべての要素が与えられた述語を満たしているかどうかを示すブール値を返します。
値を返さない結果を省略し、基本シーケンスの要素にエラーを throw するクロージャをマップする非同期シーケンスを作成します。
与えられたクロージャを非同期シーケンスの要素にマップし、値を返さない結果を省略する非同期シーケンスを作成します。
func contains(Self.Element) async rethrows -> Bool
非同期シーケンスに与えられた要素が含まれているかどうかを示すブール値を返します。
func contains(where: (Self.Element) async throws -> Bool) async rethrows -> Bool
非同期シーケンスに、与えられた述語を満たす要素が含まれているかどうかを示すブール値を返します。
func drop(while: (Self.Element) async -> Bool) -> AsyncDropWhileSequence<Self>
与えられたクロージャが false を返すまで、その後、残りのすべての要素を渡し、基本非同期シーケンスから要素を省略します。
func dropFirst(Int) -> AsyncDropFirstSequence<Self>
基本非同期シーケンスから指定された数の要素を省略し、残りのすべての要素を渡します。
func filter((Self.Element) async -> Bool) -> AsyncFilterSequence<Self>
与えられた述語を満たす基本シーケンスの要素を順番に含む非同期シーケンスを作成します。
func first(where: (Self.Element) async throws -> Bool) async rethrows -> Self.Element?
指定された述語を満たすシーケンスの最初の要素を返します。
エラーを throw する与えら変換を呼び出した結果とこのシーケンスの各要素を連結する非同期シーケンスを作成します。
エラーを throw する与えられたクロージャを非同期シーケンスの要素にマップする非同期シーケンスを作成します。
与えられたクロージャを非同期シーケンスの要素にマップする非同期シーケンスを作成します。
func max() async rethrows -> Self.Element?
比較可能な要素の非同期シーケンス内の最大要素を返します。
func max(by: (Self.Element, Self.Element) async throws -> Bool) async rethrows -> Self.Element?
与えられた述語を要素間の比較として使用して、非同期シーケンス内の最大要素を返します。
func min() async rethrows -> Self.Element?
比較可能な要素の非同期シーケンス内の最小要素を返します。
func min(by: (Self.Element, Self.Element) async throws -> Bool) async rethrows -> Self.Element?
与えられた述語を要素間の比較として使用して、非同期シーケンス内の最小要素を返します。
func prefix(Int) -> AsyncPrefixSequence<Self>
基本非同期シーケンスの最初の要素を含む、指定された最大長さまでの非同期シーケンスを返します。
func prefix(while: (Self.Element) async -> Bool) rethrows -> AsyncPrefixWhileSequence<Self>
与えられた述語を満たす基本シーケンスの最初の連続要素を含む非同期シーケンスを返します。
与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。
変更可能な初期値を与えられて、与えられたクロージャを使用して非同期シーケンスの要素を結合した結果を返します。
グループがキャンセルされたかどうかを示すブール値。
グループ内の残りのタスクをすべてキャンセルします。
この非同期シーケンスによって生成される要素の型。
グループに追加されたタスクの結果に対する反復処理インターフェースを提供する型。
この非同期シーケンスの要素を生成する非同期反復子の型。
非同期作業の単位。
動的に作成された子タスクを含むグループ。
struct ThrowingTaskGroup
Throw し、動的に作成された子タスクを含むグループ。
動的な数の throw する子タスクを含めることができる新しいスコープを開始します。
struct TaskPriority
タスクの優先度。
struct DiscardingTaskGroup
動的に作成された子タスクを含む破棄するグループ。
動的な数の子タスクを含めることができる新しいスコープを開始します。
struct ThrowingDiscardingTaskGroup
動的に作成された子タスクを含む throw する破棄のグループ。
動的な数の子タスクを含めることができる新しいスコープを開始します。
struct UnsafeCurrentTask
現在のタスクへの安全でない参照。