两阶段提交第一,2PC 是一个阻塞式协议。当 2PC 的一个参与者,在阶段 1 做出了“是”的回复后,参与者将不能单方面放弃,它必须等待协调者的决定,也就意味着参与者所有占用...[作者空间]
Raft算法Raft 把这个一致性的算法分解成了几个部分,一个是领导选举(Leader Selection),一个是日志复制(Log Replication),一个是安全性(...[作者空间]
分布式锁的本质是在独立集群外的一个存储系统,设置一个值,并标记所有权,表明这个资源我占用了。 在分布式锁的场景中,部分失败和异步网络这两个问题是同时存在的。如果一个进程获得了...[作者空间]
Actor 使用单线程处理消息,所以不会出现并发问题。你可以把 Actor 内部的工作模式想象成只有一个消费者线程的生产者 - 消费者模式。所以,在 Actor 模型里,发送...[作者空间]
ThreadLocal顾名思义,就是每个线程保存一份只有自己能访问的对象,避免了不同线程对同一个线程的竞争。所以核心在于如何隐藏一个对象的可见性,来保证只有指定的线程能访问到...[作者空间]
为了实现一把具有阻塞或唤醒功能的锁,需要解决几个核心问题:1.需要底层支持对一个线程进行阻塞或唤醒操作。2.需要有...[作者空间]
乐观锁如果并发产生冲突的概率很低,就不必使用悲观锁,而是使用乐观锁。所谓“乐观”,就是假定冲突的概率很低,所以它采...[作者空间]
问题先从简单的开始解决:既然在单机上我们有稳定的方式去解决有序的问题,具体到代码,我们应该怎么处理。答案之一,用锁...[作者空间]
一.多线程的产生摩尔定律免费午餐的结束…… 二.多线程难点的本质多线程难点本质上是因为并发导致的顺序的不确定性。操...[作者空间]