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 conrustc 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.