# Concurrency Basics (Rust) > Threads, thread::spawn, move closures, channels (mpsc), traits Send & Sync, thread safety - 20 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista.md) ## 1. ¿Qué función se debe usar para crear un nuevo thread en Rust? **Respuesta** La función thread::spawn del módulo std::thread crea un nuevo thread de ejecución. Toma una closure como parámetro y retorna un JoinHandle que permite esperar a que el thread termine mediante el método join(). Esta función es el punto de entrada principal para la programación concurrente basada en threads en Rust. ## 2. ¿Qué retorna el método join() cuando se llama sobre un JoinHandle? **Respuesta** El método join() retorna un Result donde T es el tipo de retorno de la closure del thread. Si el thread termina normalmente, se obtiene Ok(valor). Si el thread sufrió un panic, se obtiene Err con la información del panic. Esto permite recuperar los resultados del thread o gestionar sus errores de forma segura. ## 3. ¿Por qué usar la palabra clave move con una closure pasada a thread::spawn? **Respuesta** La palabra clave move obliga a la closure a tomar ownership de las variables que captura en lugar de tomarlas prestadas. Esto es esencial con thread::spawn porque el nuevo thread puede vivir más tiempo que el ámbito donde se definen las variables. Sin move, el compilador lo rechaza porque no puede garantizar que las referencias sean válidas durante toda la vida del thread. ## 17 preguntas más disponibles - ¿Cuál es el rol del trait Send en Rust? - ¿Cuál es el rol del trait Sync en Rust? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Rust - [Fundamentos de Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/rust-basics.md): 25 preguntas, Junior - [Ownership & Borrowing](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/ownership-borrowing.md): 22 preguntas, Junior - [Structs & Enums](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/structs-enums.md): 20 preguntas, Junior - [Manejo de errores](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/error-handling.md): 18 preguntas, Junior - [Colecciones](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/collections.md): 20 preguntas, Junior - [Módulos y Paquetes](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/modules-packages.md): 18 preguntas, Junior - [Traits](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/traits.md): 22 preguntas, Mid-Level - [Generics](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/generics.md): 20 preguntas, Mid-Level - [Lifetimes](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/lifetimes.md): 20 preguntas, Mid-Level - [Iterators & Closures](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/iterators-closures.md): 22 preguntas, Mid-Level - [Smart Pointers](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/smart-pointers.md): 22 preguntas, Mid-Level - [async/await](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/async-await.md): 22 preguntas, Mid-Level - [Testing](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/testing.md): 18 preguntas, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/cargo-ecosystem.md): 18 preguntas, Mid-Level - [Pattern Matching](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/pattern-matching.md): 18 preguntas, Mid-Level - [Macros](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/macros.md): 20 preguntas, Mid-Level - [Serde y serialización](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/serde-serialization.md): 20 preguntas, Mid-Level - [Unsafe Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/unsafe-rust.md): 20 preguntas, Senior - [Traits avanzados](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/advanced-traits.md): 22 preguntas, Senior - [Lifetimes Avanzados](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/advanced-lifetimes.md): 20 preguntas, Senior - [Type System](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/type-system.md): 20 preguntas, Senior - [Tokio & Async I/O](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/tokio-async.md): 22 preguntas, Senior - [Optimización de Rendimiento](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/performance-optimization.md): 20 preguntas, Senior - [Memory Management](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/memory-management.md): 20 preguntas, Senior - [Web Frameworks](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/web-frameworks.md): 22 preguntas, Senior - [Database Integration](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/database-integration.md): 20 preguntas, Senior - [Patrones de diseño en Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/design-patterns.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/concurrency-basics