牛客杂记——CopyOnWriteArrayList----ReadWriteLock---ConcurrentHashMap

1.CopyOnWirteArrayList
适用于写少读多的并发场景

2.ReadWriteLock
即为读写锁,要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行,在读多写少的情况下可以提高效率。

允许多个线程同时读共享变量;
只允许一个线程写共享变量;
如果一个写线程正在执行写操作,此时禁止读线程读共享变量;

3.ConcurrentHashMap是同步的HashMap,
读写都加锁

4.volatile
只保证多线程操作的可见性,不保证原子性

例题:下列关于Java并发的说法中正确的是()

A.CopyOnwriteArrayList适用于写多读少的并发场景

B.ReadWirteLock适用于读多写少的并发场景

C.ConcurrentHashMap的写操作不需要加锁,读操作需要加锁

D.只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了。

猜你喜欢

转载自blog.csdn.net/char_m/article/details/107068916