# Concurrency Basics (Rust) > Threads, thread::spawn, move closures, channels (mpsc), Send & Sync traits, thread safety - 20 gespreksvragen - Mid-Level - [Gespreksvragen: Rust](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen.md) ## 1. Welke functie moet worden gebruikt om een nieuwe thread in Rust te maken? **Antwoord** De functie thread::spawn uit de module std::thread maakt een nieuwe uitvoeringsthread aan. Ze neemt een closure als parameter en geeft een JoinHandle terug waarmee je via de methode join() op het einde van de thread kunt wachten. Deze functie is het belangrijkste startpunt voor threadgebaseerd concurrent programmeren in Rust. ## 2. Wat geeft de methode join() terug wanneer ze op een JoinHandle wordt aangeroepen? **Antwoord** De methode join() geeft een Result terug, waarbij T het retourtype van de closure van de thread is. Als de thread normaal eindigt, krijg je Ok(waarde). Als de thread in panic is gegaan, krijg je Err met de panic-informatie. Zo kun je threadresultaten veilig ophalen of de fouten ervan afhandelen. ## 3. Waarom het sleutelwoord move gebruiken bij een closure die aan thread::spawn wordt doorgegeven? **Antwoord** Het sleutelwoord move dwingt de closure om het ownership van de vastgelegde variabelen over te nemen in plaats van ze te lenen. Dit is essentieel bij thread::spawn omdat de nieuwe thread langer kan leven dan de scope waarin de variabelen zijn gedefinieerd. Zonder move weigert de compiler, omdat hij niet kan garanderen dat referenties geldig blijven gedurende de hele levensduur van de thread. ## Nog 17 vragen beschikbaar - Wat is de rol van de Send-trait in Rust? - Wat is de rol van de Sync-trait in Rust? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Rust-sollicitatieonderwerpen - [Rust-basis](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/rust-basics.md): 25 vragen, Junior - [Ownership & Borrowing](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/ownership-borrowing.md): 22 vragen, Junior - [Structs & Enums](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/structs-enums.md): 20 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/error-handling.md): 18 vragen, Junior - [Collecties](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/collections.md): 20 vragen, Junior - [Modules & Packages](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/modules-packages.md): 18 vragen, Junior - [Traits](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/traits.md): 22 vragen, Mid-Level - [Generics](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/generics.md): 20 vragen, Mid-Level - [Lifetimes](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/lifetimes.md): 20 vragen, Mid-Level - [Iterators & Closures](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/iterators-closures.md): 22 vragen, Mid-Level - [Smart Pointers](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/smart-pointers.md): 22 vragen, Mid-Level - [async/await](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/async-await.md): 22 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/testing.md): 18 vragen, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/cargo-ecosystem.md): 18 vragen, Mid-Level - [Pattern Matching](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/pattern-matching.md): 18 vragen, Mid-Level - [Macro's](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/macros.md): 20 vragen, Mid-Level - [Serde & serialisatie](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/serde-serialization.md): 20 vragen, Mid-Level - [Unsafe Rust](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/unsafe-rust.md): 20 vragen, Senior - [Geavanceerde traits](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/advanced-traits.md): 22 vragen, Senior - [Geavanceerde Lifetimes](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/advanced-lifetimes.md): 20 vragen, Senior - [Type System](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/type-system.md): 20 vragen, Senior - [Tokio & Async I/O](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/tokio-async.md): 22 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/performance-optimization.md): 20 vragen, Senior - [Memory Management](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/memory-management.md): 20 vragen, Senior - [Web Frameworks](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/web-frameworks.md): 22 vragen, Senior - [Database Integration](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/database-integration.md): 20 vragen, Senior - [Rust Design Patterns](https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/design-patterns.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/rust/sollicitatievragen/concurrency-basics