1
私は、ハッシュがありますHashMapから削除するスレッドと挿入するスレッドをどうやって作るのですか?
let mut hash: HashMap<String, Vec<i32>> = HashMap::new();
を、私はスレッドを開始:
thread::spawn(move || delete_from(&mut hash));
fn delete_from(m: &mut HashMap<String, Vec<i32>>) {
loop {
m.remove(a_key)
}
}
これは素晴らしい作品。私はsleep
ステートメントをそこに持っていて(図示せず)、それは正しくa_key
を作り、それをHashMap
から削除します。私はそれを印刷するときにスレッドがゆっくりと各アイテムを削除するのを見ることができます。
thread::spawn(move || insert_into(&mut hash));
fn insert_into(m: &mut HashMap<String, Vec<i32>>) {
loop {
m.insert(a_string, a_vector);
}
}
挿入されています
は、私は2番目のスレッドを開始します。私は私が得る第二のスレッドを追加するときしかし:移動値の
キャプチャ:
hash
[E0382]
これを設定する正しい方法は何ですか?
ああ:ここ
は、それがどのように見えるかです。それが私が見逃していた情報の最後の部分でした。 –