最新 最热

MySQL更新语句加锁

那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识。

2022-10-27
3

Python中的GIL机制详解

大家应该都知道,python有一个GIL(全局解释器锁),用于控制多线程的并发行为。注:GIL不是必须的,可以通过对每个资源单独加锁的方式去掉GIL,也就是将GIL换成更细粒度的锁。...

2022-10-27
1

Juc并发编程09——自己动手实现排他锁

上面代码包含可重入逻辑,我们这里如果重入直接忽略,返回false,因此核心逻辑就只需要进行一个CAS操作了。

2022-10-26
1

Juc并发编程06——深入剖析队列同步器AQS源码

原来lock,unlock等核心方法都是通过sync来实现的。而sync其实是它的一个内部类。

2022-10-26
1

Juc并发编程04——可重入锁、公平锁与非公平锁

之前我们一直使用的Lock实例都用的是ReentrantLock,实际上,这是一种可重入锁。简单来说,就是对同一个线程可以进行多次的加锁操作。

2022-10-26
2

juc并发编程03——Lock与Condition接口

前面两篇文章回顾了传统的synchronized关键字、JMM内存模型、volitile关键字,这篇文章开始我们正式介绍juc包。

2022-10-26
2

JUC并发编程01——谈谈锁机制:轻量级锁、重量级锁、偏向锁、锁消除与锁优化

计算机的cpu与I/O的效率并不是完全一致的,CPU的处理速度快时,在进行I/O操作时,可能会导致CPU空闲的状态,为了最打程度的利用cpu的资源,开发人员创造了并发编程,进程通过轮换可以最大程度的利用cpu的资源,同时给用户进程在同...

2022-10-26
1

分布式锁

基于zookeeper临时有序节点可以实现的分布式锁。大致思想即为:每个客户端对某个方法加锁时,在zookeeper上的与该方法对应的指定节点的目录下,生成一个唯一的瞬时有序节点。 判断是否获取锁的方式很简单,只需要判断有序节...

2022-10-26
1

【Go】RWMutex 源码分析

读写锁相较于互斥锁有更低的粒度,它允许并发读,因此在读操作明显多于写操作的场景下能减少锁竞争的次数,提高程序效率。

2022-10-26
1

【Go】sync.Mutex 源码分析

互斥锁的锁状态由 state 这个 32 的结构表示,这 32 位会被分成两部分:

2022-10-26
1