1. 聞き流しプログラミング言語学習
  2. Rust 041 RwLock - 読みと書き..
Rust 041 RwLock - 読みと書きを区別する排他
2026-06-23 05:01

Rust 041 RwLock - 読みと書きを区別する排他

第41章へようこそ。


今日のテーマは「RwLock」です。


前章のミューテックスは、読み取りでも書き換えでも、一度に1つの流れだけにあたいへの接触を許しました。

触れる目的が読み取りであっても、ロックを取った1つの流れが終えるまで、ほかの流れは待つ。

しかし、複数の流れが同じ値をただ読むだけなら、同時に触れても問題は起こりません。

第37章で見たように、読み取りしか起こらないなら、書き換えによる競合は生じないからです。

読み取りどうしは衝突しないのに、Mutexはそれも1つずつに制限する。

読み取りが多い場面では、この制限が並行性を必要以上に下げる。


RwLockは、読み取りと書き換えを区別するロックです。

読み取りは複数の流れに同時に許し、書き換えだけを1つの流れに絞る。

排他の範囲を、接触の目的によって変える。


今日扱うのは、RwLockが提供する2種類のロック、その取得の規則が借用の規則とどう重なるのか、

そして、どういう場面でこの区別が効くのか、です。

感想

まだ感想はありません。最初の1件を書きましょう!

05:01

コメント

スクロール