Los subprocesos de Rust funcionan de manera similar a otros lenguajes:
use std::thread;
use std::time::Duration;
fn main() {
thread::spawn(|| {
for i in 1..10 {
println!("Count in thread: {i}!");
thread::sleep(Duration::from_millis(5));
}
});
for i in 1..5 {
println!("Main thread: {i}");
thread::sleep(Duration::from_millis(5));
}
}
- Los subprocesos son todos subprocesos de demonio, el subproceso principal no los espera.
- Los pánicos en los hilos son independientes entre sí.
- Los pánicos pueden llevar una carga útil, que se puede descomprimir con downcast_ref.