Generar hilos nativos en Rust

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En este laboratorio, tenemos un fragmento de código en Rust que demuestra cómo crear hilos nativos del sistema operativo utilizando la función spawn y una clausura móvil. El código crea un vector para almacenar los hilos creados, itera a través de un rango de números para crear múltiples hilos y muestra un mensaje que identifica el número de cada hilo. Finalmente, el hilo principal espera a que cada hilo creado termine utilizando la función join.

Nota: Si el laboratorio no especifica un nombre de archivo, puede utilizar cualquier nombre de archivo que desee. Por ejemplo, puede utilizar main.rs, compilar y ejecutarlo con rustc main.rs &&./main.

Hilos

Rust proporciona un mecanismo para crear hilos nativos del sistema operativo a través de la función spawn, cuyo argumento es una clausura móvil.

use std::thread;

const NTHREADS: u32 = 10;

// Este es el hilo `main`
fn main() {
    // Crea un vector para almacenar los hilos hijos que se crean.
    let mut children = vec![];

    for i in 0..NTHREADS {
        // Inicia otro hilo
        children.push(thread::spawn(move || {
            println!("este es el hilo número {}", i);
        }));
    }

    for child in children {
        // Espera a que el hilo termine. Devuelve un resultado.
        let _ = child.join();
    }
}

Estos hilos serán programados por el sistema operativo.

Resumen

¡Felicidades! Has completado el laboratorio de Hilos. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.