
读写锁是一种与互斥量类似的锁,它允许更高的并行性,具有写独占,读共享的特点。读写锁总共有三种状态:
-
读模式下加锁状态(读锁)
-
写模式下加锁状态(写锁)
-
不加锁状态
读写锁,所谓读共享写独占是指,加读锁的时候,可以多线程一块读,但是不能写;加写锁的时候,不能读,只有当前线程可以写。并且写优先级高于读。读写锁是一把锁,有上面三种状态。
-
读写锁是写模式加锁的时候,解锁前,所有对该锁加锁的线程都会被阻塞;
-
读写锁是读模式加锁的时候,如果线程以读模式对其加锁会成功;如果线程以写模式加锁会阻塞;
-
读写锁是读模式加锁时,既有试图以写模式加锁的线程,又有以读模式加锁的线程ÿ