Javaの並行処理ライブラリにおける読込専用ロックReentrantReadWriteLockの仕組み
序論
これまでに解析したReentrantLockやSynchronizedは排他的ロックであり、一度に一つのスレッドしかリソースへのアクセスを許可しません。しかし、特定の状況では複数のスレッドが同時にリソースを読み込むことは可能だが、書き込みは一つのスレッドのみ許可する必要がある場合があります。このようなケースにおいて、ReentrantLockおよびSynchronizedは対応できません ...
7月19日 01:33 投稿
Javaの高並列処理におけるReadWriteLockの活用
複数のスレッドによる同時読み書き操作は、データの一貫性を損なう原因となり得ます
以下に具体例を示します:
public class ConcurrentAccessDemo {
public static void main(String[] args) {
DataStore dataStore = new DataStore();
for (int i = 0; i < 5; i++) {
final int threadId = i;
new Thread(() -> {
...
7月14日 21:41 投稿