第39章へようこそ。
今日のテーマは「Arc」です。
ここまで、並行処理で値を扱う道は、所有権を移すことでした。
第36章のmoveは、値の所有権を新しいスレッドへ移した。
第38章のチャネルは、値の所有権を流れの間で送って受け渡した。
どちらも、値は常にどこか1つの流れにあり、移ることで次の流れへ渡っていく。
しかし、値を移すのではなく、1つの値を複数のスレッドが同時に保持したい場面があります。
大きな値を、それぞれのスレッドへ複製して配るのは無駄が大きい。
1つの値を、複数のスレッドが共通の所有者として持ちたい。
ここから、所有権を渡さずに共有する道に入ります。
今日扱うのは、複数のスレッドが1つの値を共有して所有するための型、Arcです。
第22章のRcを振り返りながら、なぜRcではスレッドを越えられないのか、
Arcがそれをどう解決するのか、その代償は何か、という核心を見ていきます。
感想
まだ感想はありません。最初の1件を書きましょう!
スクロール