![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程与并发原理
「已注销」
业精于勤荒于嬉,行成于思毁于随
展开
-
Java多线程与并发原理 --- synchronized底层实现原理
synchronized底层实现原理?实现 synchronized 的基础1、java对象头2、Monitor对象在内存中的布局1、对象头2、实例数据3、对齐填充一般而言,synchronized 使用的锁对象是 存储在java对象头里面的,其主要结构是由 Mark Word 和 Class Metadata AddressMonitor : 每个java...原创 2019-05-08 19:42:46 · 228 阅读 · 0 评论 -
Java多线程与并发原理 --- synchronized 与 ReentrantLock 的区别
synchronized 与 ReentrantLock 的区别?ReentrantLock (再入锁)1、位于 java.util.concurrent.locks 包2、和CountDownLatch 、FuntureTask、Semaphore 一样基于AQS 实现。3、能够实现比Synchronized 更细粒度的控制,如控制fairness。4、调用lock()之后,...原创 2019-05-08 20:13:23 · 183 阅读 · 0 评论 -
Java多线程与并发原理 --- jmm的内存可见性
Java 内存模型 JMM如上是线程不安全的 如果想线程安全:1、两个方法中加上修饰符 synchronized2、变量加上 volatile 修饰符...原创 2019-05-08 20:39:28 · 142 阅读 · 0 评论 -
Java多线程与并发原理 --- CAS
CAS(Co'mpare and Swap)一种高效实现线程安全性的方法1、支持原子更新操作、适用于计数器、序列发生器等场景。2、属于乐观锁机制,号称 lock - free3、CAS操作失败时由开发者决定是继续尝试,还是执行别的操作。悲观锁:CAS 多数情况下对开发者来说是透明的。在使用CAS 前要考虑ABA 问题 是否影响程序并发的正确性,如果需要...原创 2019-05-08 20:52:33 · 231 阅读 · 0 评论 -
Java多线程与并发原理 --- Java线程池
Java线程池第五个是 只有在JDK 8 中才引入的方法。Fork/Join 框架在 JDK 7中才有的。原创 2019-05-08 21:21:48 · 231 阅读 · 0 评论 -
Java多线程与并发原理 --- synchronized
synchronized线程安全问题的主要诱因?1、存在共享数据(也称 临界资源)2、存在多条线程共同操作这些共享资源解决问题的根本方法:同一时刻有且只有一条线程处理这些共享数据,其他线程只有等到改线程处理完,才能对共享数据进行操作。互斥锁的特性:互斥性:即是在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程的协调机制。这样在同一时间只有一个线程对需要同...原创 2019-05-07 23:03:25 · 132 阅读 · 0 评论