0Pricing
Swift Academy · レッスン

TaskとTaskのキャンセル

構造化タスクを作成し、キャンセルと協調的キャンセルを確認します。

「TaskとTaskのキャンセル」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

ようこそ

`Task` は Swift における並行処理の基本単位です。非同期処理を実行し、構造化されたキャンセルをサポートして、リソースを適切に管理できます。

Task の作成

```swift Task { let user = try await fetchUser(id: 1) print(user.name) } ``` `Task` は新しい並行実行コンテキストを作成します。

Task の優先度

```swift Task(priority: .userInitiated) { await loadContent() } Task(priority: .background) { await prefetch() } Task(priority: .utility) { await syncData() } ```

Task.cancel()

```swift var task: Task? func startLoading() { task = Task { await heavyWork() } } func stopLoading() { task?.cancel() } ```

キャンセルの確認

```swift func process() async throws { for item in items { try Task.checkCancellation() // throws if cancelled process(item) } } ```

Task.isCancelled

```swift func stream() async { while !Task.isCancelled { let data = await fetch() emit(data) } } ```

Detached Task

```swift Task.detached(priority: .background) { // NOT inheriting actor context or priority of the caller await heavyBackgroundWork() } ```

withTaskCancellationHandler

```swift await withTaskCancellationHandler { await doWork() } onCancel: { cleanup() } ```

Task の返り値

```swift let task = Task { 6 * 7 } let result = await task.value // 42 ```

スリープ

```swift try await Task.sleep(for: .seconds(2)) // Swift 5.7+ try await Task.sleep(nanoseconds: 1_000_000_000) // 1 second ```

クイックチェック

タスクがキャンセルされている場合に `CancellationError` を投げるメソッドはどれですか?

振り返り

主なポイント: • `Task { }` — 非同期処理の単位を作成します • `task.cancel()` + `Task.checkCancellation()` — 協調的なキャンセルです • `Task.isCancelled` — ポーリング形式で確認します • `Task.detached` — アクターや優先度を継承しません • `Task.sleep(for:)` — ブロッキングしない遅延です 次は async let です。

よくある質問

「TaskとTaskのキャンセル」レッスンは無料ですか?

はい。「TaskとTaskのキャンセル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「TaskとTaskのキャンセル」で何を学びますか?

構造化タスクを作成し、キャンセルと協調的キャンセルを確認します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「TaskとTaskのキャンセル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. async/await構文と非同期関数の呼び出し
  2. TaskとTaskのキャンセル
  3. async letと並行する子タスク
  4. アクター:共有可変状態の保護
← Swift Academyに戻る