チャネル
共有データを直接変更する代わりに、チャネルで値を送る設計があります。std::sync::mpscは複数送信者・単一受信者のチャネルを提供します。
use std::{sync::mpsc,thread};
fn main(){
let(tx,rx)=mpsc::channel();
let h=thread::spawn(move||tx.send(String::from("done")).unwrap());
println!("{}",rx.recv().unwrap());
h.join().unwrap();
}
送信値の所有権は受信側へ移ります。イベントの種類はenumで表すと明確です。
enum Event{Started(u64),Finished(u64),Failed(u64)}
演習:イベント集計
コード提出フォーム
RUST安全なサーバー側採点連携が未接続のため、現在は提出できません。
採点基盤準備中
公開テストケース
読み込み中…