Slim读写锁简称SRWLock,它的目的和临界区相同,对一个资源进行保护,不让其他线程访问。但是不同的是SRWLock允许我们区分哪些线程是读取共享资源的值,哪些线程是修改共享资源的值。所有读线程在同一时刻可以访问共享资源,因为这些线程不会破坏共享资源,只有当写线程要访问共享资源时,才需要进行同步。写线程应当独占式访问资源,其他任何线程都不允许访问资源。这就是SRWLock提供的全部功能。
所以SRWLock的访问分为两种方式:
- 独占式访问:写线程访问共享资源的方式;
- 共享式访问:读线程访问共享资源的方式;
SRWLock需要通过一个SRWLOCK结构来进行实现;
要说明的是SRWLock的使用要求OS至少是