并发编程
F道人
若目标是远方,便只顾风雨兼程!
展开
-
并发编程(八):乐观锁与悲观锁详解(面试必问)
悲观锁与乐观锁悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和Reentran...原创 2020-04-19 00:43:38 · 220 阅读 · 0 评论 -
并发编程(七):AQS框架(实现锁机制的AQS框架你了解多少)
AQS(一种实现锁机制的框架,也可以说一些基类组合构建锁和同步器)一:基本概念AQS框架:全称AbstractQueuedSynchronizer。(抽象队列同步)AQS是一个用来构建锁和同步器的(各种基类)框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLoc...原创 2020-04-18 22:58:03 · 724 阅读 · 0 评论 -
并发编程(六):Atomic 原子类(面试详解)
一:什么是原子类Atomic 是指一个操作是不可中断的,即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。基本类型使用原子的方式更新基本类型AtomicInteger:整形原子类 AtomicLong:长整型原子类 AtomicBoolean:布尔型原子类数组类型使用原子的方式更新数组里的某个元素AtomicIntegerArray:整形...原创 2020-04-17 23:52:17 · 1315 阅读 · 0 评论 -
并发编程(五):线程池的实现以及底层原理
一:什么是线程池池化技术:减少每次获取资源的消耗,提高对资源的利用率。例如线程池、数据库连接池、Http 连接池等等。使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用...原创 2020-04-17 23:44:03 · 265 阅读 · 0 评论 -
并发编程(四):ThreadLocal底层原理详解
一:TreadLocal基本概念ThreadLocal类主要解决的就是让每个线程绑定自己的值,可以将ThreadLocal类形象的比喻成存放数据的盒子,盒子中可以存储每个线程的私有数据。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是ThreadLocal变量名的由来。他们可以使用get()和set()方法来获取默认值或将其值...原创 2020-04-17 00:05:23 · 1327 阅读 · 1 评论 -
并发编程(三):CAS机制(针对面试详解)
什么是CAS机制?compare and swap 比较并交换详细理解,通过Atomic类(原子类)来深入理解CAS。不使用volatile(可见性)来实现++(加加操作)的线程安全,使用原子类也可以实现原子类底层实现:unsafe类 ----另一点ConcurrentHashMap中transfer()方法中使用了Unsafe中compareAndSwapInt方法(C...原创 2020-04-16 23:54:33 · 512 阅读 · 1 评论 -
并发编程(二):Synchronized关键字(面试最全讲解)
Synchronized 的基本概念?Synchronized 在项目中怎么使用?Synchronized 的底层实现?Synchronized JDK1.6版本有哪些优化?Synchronized 与ReentrantLock的区别?一:基本概念Synchronized:是JVM层次上的锁(监视器锁),可重入,非公平锁。synchronized...原创 2020-04-16 06:15:29 · 196 阅读 · 0 评论 -
并发编程(一):volatile关键字
一:JAVA内存模型涉及到的知识点:多级缓存,MESI协议,缓存一致性协议,总线嗅探机制,原子性操作(8种原子操作)volatile关键字的主要作用就是保证变量的可见性然后还有一个作用是防止指令重排序。为什么?可见性:MESI协议(一种支持写回策略的缓存一致性协议)和总线嗅探机制决定了volatile能保证可见性;详细解释:MESI...原创 2020-04-15 20:11:40 · 237 阅读 · 0 评论