// dictionary
スレッド.
スレッド
Rustの std::thread は、OSレベルのスレッドを使った並行処理を実現します。async/await と異なり、実際に複数のプロセッサコアで並列実行されます。
基本的な使用方法
use std::thread;
fn main() {
let handle = thread::spawn(|| {
for i in 1..5 {
println!("スレッドから: {}", i);
}
});
for i in 1..3 {
println!("メインから: {}", i);
}
handle.join().unwrap(); // スレッドの終了を待つ
}
データの移動
let v = vec![1, 2, 3];
let handle = thread::spawn(move || {
println!("{:?}", v); // move で所有権を移動
});
handle.join().unwrap();
move クロージャを使うことで、所有権(Ownership)をスレッドに移動させます。
スレッド間のチャネル通信や相互排他ロック(Mutex)でのロック管理も参照してください。
この辞書が使われているページ
backlinks 4