1.2.4. スレッドの安全性
キャッシュは完全にスレッドセーフです。 MVCC (Multi-versioned Concurrency Control) を使用し、 高度な同時実行性を維持しながらリーダーとライター間におけるスレッドの安全性を確保します 。JBoss Cache で使用される特定の MVCC 実装により、 リーダースレッドにはロックや同期化されたブロックが完全になくなるため、 読み取り中心のアプリケーションのパフォーマンスを向上します。 また、 マルチコア CPU アーキテクチャ向けに調整されたライタースレッドの最新の CAS (コンペアアンドスワップ) 技術を使用するパフォーマンスに優れたカスタムのロック実装も使用します。
JBoss Cache 3.x 以降、 MVCC (Multi-versioned Concurrency Control) はデフォルトのロッキングスキームとなっています。これ以前のバージョンの楽観的ロックや悲観的ロックのスキームも使用可能ですが、 MVCC の導入により廃止され、 今後のリリースでは削除される予定です。 そのため、 廃止されたこれらのロックスキームは使用しないようにしてください。
JBoss Cache の MVCC 実装は READ_COMMITTED および REPEATABLE_READ 分離レベルのみをサポートし、 これらレベルのデータベース相当に対応します。 MVCC の詳細は 11章トランザクションと並行性 の項を参照してください。