本文简单介绍 Rust 中的读写锁RwLock
,内容概览如下:
经典问题
-
读者-作家问题
基本概念
-
临界区 Critical p
互斥量 Mutex
信号量 Semaphore
读写锁 RWLock
Rust中的
RwLock
实现-
std::sync::RwLock
parking_lot::RwLock
经典问题
在计算机科学中,有一些经典的同步问题,读者-作家问题就是其中一个,该问题涉及多个并发线程试图同时访问同一共享资源的情况。
读者-作家问题:我们拥有一种资源(例如,数据库),可以由不修改资源的读者和可以修改资源的作家访问。当作家修改资源时,其他任何人(读者或作家)都无法同时访问它,因为另一位作家可能破坏资源,而另一位读者可能读取部分修改的值,因此可能出现不一致。
基本概念
为了准确理解问题,我们先介绍一些基本概念。
临界区 Critical p,在并发编程中,对共享资源的并发访问可能导致意外或错误的行为,因此需要以某种方式保护访问共享资