
Concurrency Basics
Threads, thread::spawn, move closures, channels (mpsc), traits Send & Sync, thread safety
1Qual função deve ser usada para criar uma nova thread em Rust?
Qual função deve ser usada para criar uma nova thread em Rust?
Resposta
A função thread::spawn do módulo std::thread cria uma nova thread de execução. Ela recebe uma closure como parâmetro e retorna um JoinHandle que permite aguardar o término da thread usando o método join(). Esta função é o principal ponto de entrada para programação concorrente baseada em threads em Rust.
2O que o método join() retorna quando chamado em um JoinHandle?
O que o método join() retorna quando chamado em um JoinHandle?
Resposta
O método join() retorna um Result<T, E> onde T é o tipo de retorno da closure da thread. Se a thread terminar normalmente, você obtém Ok(valor). Se a thread sofreu panic, você obtém Err com as informações do panic. Isso permite recuperar os resultados da thread ou tratar seus erros de forma segura.
3Por que usar a palavra-chave move com uma closure passada para thread::spawn?
Por que usar a palavra-chave move com uma closure passada para thread::spawn?
Resposta
A palavra-chave move força a closure a tomar ownership das variáveis que captura em vez de tomá-las emprestadas. Isso é essencial com thread::spawn porque a nova thread pode viver mais que o escopo onde as variáveis são definidas. Sem move, o compilador recusa porque não pode garantir que as referências sejam válidas durante todo o tempo de vida da thread.
Qual é o papel do trait Send em Rust?
Qual é o papel do trait Sync em Rust?
+17 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
async/await
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