锁
tpasta
这个作者很懒,什么都没留下…
展开
-
Synchronized源码分析
java内部锁synchronized的出现,为多线程的并发执行提供了一个稳定的环境,有效的防止多个线程同时执行同一个逻辑,其实这篇文章应该写在深入分析Object.wait/notify实现机制之前,本文不会讲如何使用synchronized,以HotSpot1.7的虚拟机为例,对synchronized的实现进行深入分析。synchronized的HotSpot实现依赖于对象头的Mark Wo...转载 2018-07-02 19:54:47 · 620 阅读 · 0 评论 -
关于并发的基础概念
最近在阅读《实战Java高并发程序设计》,写一写关于并发的一些理解。 (一)异步和同步 同步和异步通常用来形容一次方法的调用。 同步意味着方法一旦调用开始,调用者必须等到方法返回才能进行后续的行为。 异步调用意味的方法一旦调用就会立即返回,调用者可以立即进行后续的行为,异步调用表现的更像是一个消息传递。但是异步调用会在另一个线程中“真实”执行。如果异步...原创 2018-08-04 15:15:49 · 237 阅读 · 0 评论 -
【Java锁】AQS原理解析
(一)AQS简介 AQS(AbstractQueuedSynchronizer),AQS是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架。这个抽象类被设计为作为一些可用原子int值来表示状态的同步器的基类。如果你有看过类似 CountDownLatch 类的源码实现,会发现其内部有一个继承了 AbstractQueuedSynchronizer 的内部类 Sy...原创 2018-08-18 01:16:47 · 1469 阅读 · 0 评论 -
【Java锁】synchronized锁原理
最近在看《实战Java高并发程序设计》,看到synchronized锁,故整理下synchronized锁的锁原理及源码分析,若有错及建议,请指正。 一、synchronized 的用法 (1)修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 (2)修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 (3)修饰代码块,指定加锁对象,对给定对象加锁,进入同...原创 2018-08-08 23:52:27 · 560 阅读 · 0 评论 -
【Java并发】Semaphore原理解析
今天主要是写关于Semaphore的原理及解析 (一)Semaphore的介绍 信号量为多线程协作提供更强大的控制。从广义上来讲,是锁的增强,synchronized、ReentrantLock只能对一个线程加锁,而信号量可以对多个线程进行控制。 (二)Semaphore的使用 Semaphore 主要是acquire 申请信号量的许可,release释放许可供其他线程申请。如果acq...原创 2018-08-17 00:02:18 · 2577 阅读 · 0 评论 -
【Java并发】ThreadLocal原理分析及理解
本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLocal 本身,而用 实例 代表具体类型(如 StringBuidler )的实例。...转载 2018-08-23 01:16:11 · 233 阅读 · 0 评论