0Pricing
Swift Academy · Aula

async let e tarefas filhas concorrentes

Execute trabalhos assíncronos independentes simultaneamente com associações async let.

async let e tarefas filhas concorrentes é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

`async let` executa várias operações assíncronas simultaneamente — todas começam imediatamente, e `await` aguarda os resultados quando necessário.

Sequencial vs. simultâneo

```swift // Sequential — slow: let a = try await fetchA() let b = try await fetchB() // Concurrent with async let — fast: async let a = fetchA() async let b = fetchB() let (resultA, resultB) = try await (a, b) ```

Sintaxe de async let

```swift async let title = fetchTitle(id) async let author = fetchAuthor(id) async let content = fetchContent(id) let article = Article( title: try await title, author: try await author, content: try await content ) ```

Tudo ou nada

Se qualquer vínculo `async let` lançar um erro, o erro será propagado. O sistema cancela automaticamente as tarefas irmãs.

async let em loops

```swift var results: [Data] = [] await withTaskGroup(of: Data.self) { group in for url in urls { group.addTask { try await URLSession.shared.data(from: url).0 } } for await data in group { results.append(data) } } ```

TaskGroup

```swift await withTaskGroup(of: Int.self) { group in for i in 1...5 { group.addTask { i * i } } var squares: [Int] = [] for await square in group { squares.append(square) } print(squares.sorted()) // [1,4,9,16,25] } ```

ThrowingTaskGroup

```swift try await withThrowingTaskGroup(of: User.self) { group in for id in ids { group.addTask { try await fetchUser(id: id) } } for try await user in group { process(user) } } ```

Árvore de concorrência estruturada

`async let` e TaskGroup formam uma árvore de tarefas. As tarefas pai aguardam todas as filhas. Cancelar a tarefa pai cancela todas as filhas.

Quando usar async let ou TaskGroup

• `async let` — número fixo de operações simultâneas conhecido em tempo de compilação • `TaskGroup` — número dinâmico de tarefas, por exemplo, ao processar uma matriz

Limitando a concorrência com TaskGroup

```swift await withTaskGroup(of: Void.self) { group in let concurrency = 4 var running = 0 for url in urls { if running >= concurrency { await group.next() } group.addTask { await process(url) } running += 1 } } ```

Verificação rápida

O que acontece com as tarefas irmãs `async let` se uma delas lançar um erro?

Recapitulação

Principais conclusões: • `async let x = asyncWork()` — começa imediatamente, de forma simultânea • `try await x` — aguarda o resultado • Tudo ou nada: uma falha cancela as tarefas irmãs • `withTaskGroup` — conjunto dinâmico de tarefas simultâneas • Concorrência estruturada = gerenciamento automático das tarefas filhas A seguir: Atores.

Perguntas Frequentes

A aula “async let e tarefas filhas concorrentes” é grátis?

Sim — o texto completo de “async let e tarefas filhas concorrentes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “async let e tarefas filhas concorrentes”?

Execute trabalhos assíncronos independentes simultaneamente com associações async let. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “async let e tarefas filhas concorrentes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sintaxe async/await e chamada de funções assíncronas
  2. Task e cancelamento de Task
  3. async let e tarefas filhas concorrentes
  4. Atores: proteção do estado mutável compartilhado
← Voltar para Swift Academy