chenssy
致力打造Java精品博客站点

JAVA

第3页

【死磕Java并发】—-深入分析CAS

chenssy阅读(3925)评论(2)

CAS,Compare And Swap,即比较并交换。Doug lea大神在同步组件中大量使用CAS技术鬼斧神工地实现了Java多线程的并发操作。整个AQS同步组件、Atomic原子类操作等等都是以CAS实现的,甚至ConcurrentH...

【死磕Java并发】—–J.U.C之Condition

chenssy阅读(2099)评论(2)

此篇博客所有源码均来自JDK 1.8 在没有Lock之前,我们使用synchronized来控制同步,配合Object的wait()、notify()系列方法可以实现等待/通知模式。在Java SE5后,Java提供了Lock接口,相对于S...

【死磕Java并发】—–J.U.C之AQS:阻塞和唤醒线程

chenssy阅读(2774)评论(8)

此篇博客所有源码均来自JDK 1.8 在线程获取同步状态时如果获取失败,则加入CLH同步队列,通过通过自旋的方式不断获取同步状态,但是在自旋的过程中则需要判断当前线程是否需要阻塞,其主要方法在acquireQueued(): if (sho...

【死磕Java并发】—–J.U.C之AQS:CLH同步队列

chenssy阅读(4808)评论(0)

此篇博客所有源码均来自JDK 1.8 在上篇博客【死磕Java并发】—–J.U.C之AQS:AQS简介中提到了AQS内部维护着一个FIFO队列,该队列就是CLH同步队列。 CLH同步队列是一个FIFO双向队列,AQS依赖它来完成同步状态的管...

【死磕Java并发】—–J.U.C之AQS:AQS简介

chenssy阅读(4869)评论(1)

Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略(【死磕Java并发】—–深入分析synchronized的实现原理),但是与Lock...

【死磕Java并发】—–Java内存模型之总结

chenssy阅读(3769)评论(0)

经过四篇博客阐述,我相信各位对Java内存模型有了最基本认识了,下面LZ就做一个比较简单的总结。 总结 JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方...

Chenssy's Blog | 致力打造个人精品博客

联系作者读书系统