[rust] Rust 스레드와 동기화
Rust는 안전하고 병렬성을 갖춘 시스템 프로그래밍 언어로, 스레드 기능과 동기화 기능을 제공합니다. 이 기능들을 사용하여 병렬 처리를 구현하고 데이터 공유를 안전하게 관리할 수 있습니다.
스레드 생성
Rust에서 스레드를 생성하려면 std::thread
모듈을 사용합니다. 다음은 스레드를 생성하고 실행하는 간단한 예제 코드입니다.
use std::thread;
fn main() {
let handle = thread::spawn(|| {
// 스레드에서 수행할 작업
});
// 스레드의 결과를 기다림
handle.join().unwrap();
}
메시지 전달을 통한 동기화
Rust의 std::sync::mpsc
모듈을 사용하여 여러 스레드 간에 메시지를 전달하고 동기화할 수 있습니다. 다음은 간단한 예제 코드입니다.
use std::sync::mpsc;
use std::thread;
fn main() {
let (sender, receiver) = mpsc::channel();
let handle = thread::spawn(move || {
sender.send("Hello, Rust!").unwrap();
});
let received = receiver.recv().unwrap();
println!("Received: {}", received);
}
이렇게하여 Rust를 사용하면 병렬성을 갖춘 안전한 시스템 프로그래밍을 할 수 있습니다.
더 자세한 내용은 Rust 공식 문서를 참고하세요.