mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-25 04:17:17 +00:00
feature: dyld && LD 链接器
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
### 悲观锁
|
||||
|
||||
对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定会有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。
|
||||
这种线程一旦得到锁,其他需要锁的线程就挂起。共享资源每次只给一个线程使用,其他线程阻塞,用完再把资源转让给其他线程。传统的关系型数据库就用到很多悲观锁这种几只,比如行锁、表锁、读锁、写锁等,都是在操作之前先上锁。
|
||||
这种线程一旦得到锁,其他需要锁的线程就挂起。共享资源每次只给一个线程使用,其他线程阻塞,用完再把资源转让给其他线程。传统的关系型数据库就用到很多悲观锁这种机制,比如行锁、表锁、读锁、写锁等,都是在操作之前先上锁。
|
||||
|
||||
### 乐观锁
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
#### 2. CAS 算法
|
||||
|
||||
**compare and swap(比较与交换)** ,是一种有名的**无锁算法**。 无锁编程,即在不实用锁的情况下实现多线程之间的数据同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫做**非阻塞同步(Non-blocking Synchorization)**。CAS 算法涉及到的三个操作数
|
||||
**compare and swap(比较与交换)** ,是一种有名的**无锁算法**。 无锁编程,即在不使用锁的情况下实现多线程之间的数据同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫做**非阻塞同步(Non-blocking Synchorization)**。CAS 算法涉及到的三个操作数
|
||||
|
||||
- 需要读写的内存值 V
|
||||
- 进行比较的值 A
|
||||
|
||||
Reference in New Issue
Block a user