并发编程

并发编程

  • CountDownLatch源码解析

    CountDownLatch源码解析

    CountDownLatch源码解析在上一篇转载的文章从 ReentrantLock 的实现看 AQS 的原理及应用 - 美团技术团队中我们了解到AQS与ReentrantLock的联系,其实不仅仅是ReentrantLock,JUC下的很多组件都与AQS有着或多或少的联系.下面我来介绍一下Coun

    查看全文
  • 从 ReentrantLock 的实现看 AQS 的原理及应用 - 美团技术团队

    从 ReentrantLock 的实现看 AQS 的原理及应用 - 美团技术团队

    从ReentrantLock的实现看AQS的原理及应用-美团技术团队原文地址tech.meituan.com前言Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为A

    查看全文
  • happens-before和as-if-serial语义

    happens-before和as-if-serial语义

    happens-beforehappens-before定义happens-before的概念最初由LeslieLamport在其一篇影响深远的论文(《Time,ClocksandtheOrderingofEventsinaDistributedSystem》)中提出,有兴趣的可以google一下。

    查看全文
  • Java并发编程

    Java并发编程

    [toc]Java并发编程并发与并行什么是并发并发(Concurrent),在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。那么,操作系统视如何实现这种并发的呢?现在我们用到操作系统,无论是Windows、Linux还是MacOS等其实都

    查看全文
  • 锁优化

    锁优化

    锁优化这里的锁优化主要是指JVM对synchronized的优化。偏向锁偏向锁的思想是偏向于让第一个获取锁对象的线程,这个线程在之后获取该锁就不再需要进行同步操作,甚至连CAS操作也不再需要。当锁对象第一次被线程获得的时候,进入偏向状态,标记为101。同时使用CAS操作将线程ID记录到MarkWor

    查看全文
  • 锁的种类与一些机制

    锁的种类与一些机制

    锁可重入锁重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁的还支持获取锁时的公平和非公平性选择。同时考虑如下场景:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用lock()方法,则该线程将会被自己所阻塞,原

    查看全文