返回章节

🔒 第6章测试:读写锁

测试你对Java读写锁机制的理解程度

1
关于读写锁的特性,以下说法正确的是?
解析:

正确答案是C。读写锁的核心特性是允许多个线程同时获取读锁,实现并发读取,但写锁是独占的,且读锁和写锁之间互斥。

2
ReentrantReadWriteLock支持以下哪种锁操作?
解析:

正确答案是B。ReentrantReadWriteLock只支持锁降级,不支持锁升级。锁降级是指持有写锁的线程可以获取读锁,然后释放写锁。不支持锁升级是为了避免死锁。

3
StampedLock相比ReentrantReadWriteLock的主要优势是什么?
解析:

正确答案是B。StampedLock的主要优势是提供了乐观读模式,这是一种无锁操作,通过版本号检查数据是否被修改,在读多写少的场景下性能更优。

4
在StampedLock中,以下哪个操作是正确的乐观读使用方式?
解析:

正确答案是B。乐观读的正确使用方式是:先调用tryOptimisticRead()获取stamp,读取数据,然后使用validate()方法检查stamp是否有效,如果无效则需要降级为悲观读。

5
读写锁最适合应用在以下哪种场景?
解析:

正确答案是C。读写锁最适合读多写少的场景,因为它允许多个线程同时进行读操作,只有在写操作时才需要独占访问,这样可以显著提高并发性能。

0/5
加载中...
返回章节