第41章へようこそ。
今日のテーマは「RwLock」です。
前章のミューテックスは、読み取りでも書き換えでも、一度に1つの流れだけにあたいへの接触を許しました。
触れる目的が読み取りであっても、ロックを取った1つの流れが終えるまで、ほかの流れは待つ。
しかし、複数の流れが同じ値をただ読むだけなら、同時に触れても問題は起こりません。
第37章で見たように、読み取りしか起こらないなら、書き換えによる競合は生じないからです。
読み取りどうしは衝突しないのに、Mutexはそれも1つずつに制限する。
読み取りが多い場面では、この制限が並行性を必要以上に下げる。
RwLockは、読み取りと書き換えを区別するロックです。
読み取りは複数の流れに同時に許し、書き換えだけを1つの流れに絞る。
排他の範囲を、接触の目的によって変える。
今日扱うのは、RwLockが提供する2種類のロック、その取得の規則が借用の規則とどう重なるのか、
そして、どういう場面でこの区別が効くのか、です。
感想
まだ感想はありません。最初の1件を書きましょう!
スクロール