编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

读取器/写入器锁

读取器/写入器锁可控制对数据集的访问。读取器/写入器锁之所以这样命名,是由于许多线程可同时持有读锁,但仅有一个线程可持有写锁。

大多数设备驱动程序不使用读取器/写入器锁。这些锁的速度比互斥锁要慢。这些锁仅当保护通常进行读取但不经常写入的数据时才会提高性能。在此情况下,对互斥锁的争用可能会成为一个瓶颈,因此使用读取器/写入器锁效率可能更高。下表概述了读取器/写入器函数。有关详细信息,请参见 rwlock(9F) 手册页。读取器/写入器锁函数包括:

rw_destroy(9F)

销毁读取器/写入器锁

rw_downgrade(9F)

将读取器/写入器锁的持有者从写入器降级为读取器

rw_enter(9F)

获取读取器/写入器锁

rw_exit(9F)

释放读取器/写入器锁

rw_init(9F)

初始化读取器/写入器锁

rw_read_locked(9F)

确定是否持有用于读/写操作的读取器/写入器锁

rw_tryenter(9F)

尝试在无需等待的情况下获取读取器/写入器锁

rw_tryupgrade(9F)

尝试将读取器/写入器锁的持有者从读取器升级为写入器