Criando Threads Nativas em Rust

Beginner

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

Introdução

Neste laboratório, temos um fragmento de código em Rust que demonstra como criar threads nativas do sistema operacional usando a função spawn e um fecho (closure) móvel. O código cria um vetor para armazenar as threads criadas, itera através de um intervalo de números para criar várias threads e imprime uma mensagem identificando o número de cada thread. Finalmente, a thread principal aguarda o término de cada thread criada usando a função join.

Nota: Se o laboratório não especificar um nome de arquivo, você pode usar qualquer nome de arquivo que desejar. Por exemplo, você pode usar main.rs, compilar e executar com rustc main.rs && ./main.

Threads

Rust fornece um mecanismo para criar threads nativas do sistema operacional por meio da função spawn, cujo argumento é um fecho (closure) móvel.

use std::thread;

const NTHREADS: u32 = 10;

// Esta é a thread principal
fn main() {
    // Crie um vetor para armazenar as threads filhas criadas.
    let mut children = vec![];

    for i in 0..NTHREADS {
        // Inicie outra thread
        children.push(thread::spawn(move || {
            println!("esta é a thread número {}", i);
        }));
    }

    for child in children {
        // Aguarde a conclusão da thread. Retorna um resultado.
        let _ = child.join();
    }
}

Essas threads serão agendadas pelo sistema operacional.

Resumo

Parabéns! Você concluiu o laboratório de Threads. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.