
async/await
funções async, trait Future, runtime tokio, blocos async, sintaxe .await, Streams, Pin<T>, cancelamento, padrões de executor
1O que retorna em Rust uma função declarada com a palavra-chave async?
O que retorna em Rust uma função declarada com a palavra-chave async?
Resposta
Uma função async retorna automaticamente um tipo que implementa o trait Future. O compilador transforma o corpo da função em uma máquina de estados que implementa Future. O valor de retorno não é calculado imediatamente: ele só será calculado quando o Future for aguardado com .await ou executado por um runtime.
2Qual é o papel principal do trait Future em Rust?
Qual é o papel principal do trait Future em Rust?
Resposta
O trait Future representa uma computação assíncrona que pode ainda não ter terminado. Seu método poll permite que o executor verifique se o Future está pronto (Poll::Ready) ou precisa esperar (Poll::Pending). Esse é o mecanismo fundamental da assincronia em Rust, possibilitando uma execução não bloqueante e eficiente.
3Por que é necessário um runtime como o tokio para executar código async em Rust?
Por que é necessário um runtime como o tokio para executar código async em Rust?
Resposta
O Rust não inclui um runtime assíncrono em sua biblioteca padrão para manter a linguagem minimalista e permitir a escolha do runtime conforme as necessidades. Um runtime como o tokio fornece o executor que faz poll dos Futures, o scheduler para gerenciar as tarefas e as I/O assíncronas. Sem um runtime, os Futures nunca seriam executados.
Qual é a diferença entre um async block e uma async function em Rust?
O que acontece ao usar .await em um Future no Rust?
+19 perguntas de entrevista
Outros temas de entrevista Rust
Fundamentos de Rust
Ownership & Borrowing
Structs & Enums
Tratamento de erros
Coleções
Módulos e Pacotes
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde e serialização
Unsafe Rust
Traits avançados
Lifetimes Avançados
Type System
Tokio & Async I/O
Otimização de Desempenho
Memory Management
Web Frameworks
Database Integration
Padrões de design em Rust
Domine Rust para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis