• java并发编程-StampedLock高性能读写锁

    [TOC] 一、读写锁 在我的[《java并发编程》]上一篇文章中为大家介绍了《ReentrantLock读写锁》,ReentrantReadWriteLock可以保证最多同时有一个线程在写数据,或者可以同...
    JAVA   2022.05.16 08:21
  • 「java并发编程」ReentrantLock 可重入读写锁

    一、ReentrantLock可重入锁 可重入锁ReentrantLock 是一个互斥锁,即同一时间只有一个线程能够获取锁定资源,执行锁定范围内的代码。这一点与synchronized 关键字十分相似...
    JAVA   2022.05.15 08:16
  • Redis实现并发阻塞锁方案

    由于用户同时访问线上的下订单接口,导致在扣减库存时出现了异常,这是一个很典型的并发问题,本篇文章为解决并发问题而生,采用的技术为Redis锁机制+多线程的阻塞唤醒方法...
    JAVA Redis   2022.04.28 15:34
  • 一文彻底弄清楚分布式锁

    关于实现强一致性的手段,可以使用多种方式来进行实现,有分布式事务,有一致性算法,还有分布式锁等等,那么这篇文章我们就围绕分布式锁这个话题来进行展开,首先,我们会...
    JAVA   2022.05.18 20:20
  • 一个测试记录:利用分段锁来处理并发情况下的资源竞争问题

    别人的经验,我们的阶梯! 在开发中经常遇到多个并发执行的线程,需要对同一个资源进行访问,也就是发生资源竞争。 在这种场景中,一般的做法就是加锁,通过锁机制对临界区进行保护,以达到资源独占的目的。 这篇文章主要描述的就是使用分段锁来解决这个问题,说起来很简单:就是把锁的粒度降低,以达到资源独占、最大程 ...
    C语言   2022-05-22 13:14
  • Go到底能不能实现安全的双检锁?

    从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例?有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,首次用到的时候才创建实例。 ...
    双检锁 指令重排 Golang   2022-05-27 08:26
  • 一文带你看懂Java中的Lock锁底层AQS到底是如何实现的

    前言 相信大家对Java中的Lock锁应该不会陌生,比如ReentrantLock,锁主要是用来解决解决多线程运行访问共享资源时的线程安全问题。那你是不是很好奇,这些Lock锁api是如何实现的呢?本文就是来探讨一下这些Lock锁底层的AQS(AbstractQueuedSynchronizer)到 ...
    Java 并发   2022-05-27 13:11