JUC读写锁

JUC读写锁,第1张

JUC读写
ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
Lock readLock = readWriteLock.readLock();
Lock writeLock = readWriteLock.writeLock();
for (int i = 0; i < 5; i++) {
    new Thread(() -> {
        writeLock.lock();
        try {
            System.out.println(Thread.currentThread().getName()+"t开始写数据");
            try { TimeUnit.SECONDS.sleep(new Random().nextInt(5)); } catch(InterruptedException e) { e.printStackTrace(); }
            System.out.println(Thread.currentThread().getName()+"t写完数据");
        } finally {
            writeLock.unlock();
        }
    }, String.valueOf(i)).start();
}
for (int i = 0; i < 5; i++) {
    new Thread(() -> {
        readLock.lock();
        try {
            System.out.println(Thread.currentThread().getName()+"t开始读数据");
            try { TimeUnit.SECONDS.sleep(new Random().nextInt(5)); } catch(InterruptedException e) { e.printStackTrace(); }
            System.out.println(Thread.currentThread().getName()+"t读完数据");
        } finally {
            readLock.unlock();
        }
    }, String.valueOf(i)).start();
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5703705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存