Arc
と Mutex
の動作を見てみましょう:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Speaker Notes
This slide should take about 8 minutes.
考えられる対処法:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
注目するとよい箇所:
v
は Arc
と Mutex
の両方でラップされています。なぜなら、それらの関心は互いに独立なものであるからです。
Mutex
をArc
でラップすることは、スレッド間でミュータブルな状態を共有するためによく見られるパターンです。
v: Arc<_>
は別のスレッドにムーブされる前に、v2
としてクローンされる必要があります。move
がラムダ式に追加されたことに注意してください。
- ブロックは
LockGuard
のスコープを可能な限り狭めるために導入されています。