![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程系列
安东尼的小不2
欢迎来玩博客skiron.xyz
展开
-
多线程并发面试题整理
1.进程线程区别,线程安全和非线程安全区别 线程:程序计数器、虚拟机栈、本地方法栈 线程安全:多个线程操作共享资源,执行统一数据 2. 线程状态,start,run,wait,notify,yiled,sleep,join等方法的作用以及区别 线程状态转换图。 sleep–TIME-WAITING不释放 wait–WAITING 释放锁 join /join(time)分别从运行态进入到 WAITING/TIME-WAITING yiled 从run–ready状态 3.wait,notify阻塞唤醒确原创 2020-10-18 23:53:05 · 143 阅读 · 0 评论 -
Java并发编程学习05—ThreadPool线程池
文章目录一、Executor框架1. 框架结构2.框架使用示意图二、ThreadPoolExecutor类(重点)1.饱和策略2. Runnable+ThreadPoolExecutor3. Callable+ThreadPoolExecutor4. 线程池的5种状态5. **ThreadPoolExecutor原理**6.几个方法的对比execute() VS submit()三、几种常见的线程池1.FixedThreadPool2.SingleThreadPool3.CachedThreadPool4.原创 2020-08-30 22:01:09 · 138 阅读 · 0 评论 -
Java并发编程学习04—ConcurrentHashMap源码学习
1.JDK1.7版本 1.1 设计思路 ConcurrentHashMap是conccurrent家族中的一个类,由于它可以高效地支持并发操作,以及被广泛使用,经典的开源框架Spring的底层数据结构就是使用ConcurrentHashMap实现的,它采用了分段锁的设计,只有在一个分段中存在竞争关系,不同分段锁之间没有竞争,提高了并发环境下的处理能力,降低了锁的粒度。相比于HashMap,在高并发的环境下会导致出现环状,死锁的产生;而HashTable虽然保证了并发安全,但是它在实现每个方法的时候都加上了锁原创 2020-08-09 20:28:11 · 165 阅读 · 0 评论 -
Java并发编程学习03—彻底搞懂ThreadLocal
一、什么是Threadlocal ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,如何防止自己的变量被其它线程篡改。 如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是ThreadLocal变量名的由来。他们可以使用 get() 和 set() 方法来获取默认值或将其值更改为当前线程所存的副本的值,从而避免了线程安全问题。 ThreadLocal示例 import java.te原创 2020-08-04 23:42:21 · 213 阅读 · 0 评论 -
Java并发编程学习02—彻底理解volatile关键字
文章目录一、内存模型基本概念二、并发编程三个概念三、volatile关键字作用及原理可见性原子性有序性四、volatile关键字的原理和实现机制五、使用volatile关键字的场景 volatile关键字与java内存模型有关(JMM),所以再了解volatile关键字之前,先来了解一下这部分的知识,然后分析volatile关键字的实现原理,最后给出了实现volatile关键字的场景 一、内存模型基本概念 首先是缓存一致性问题,在多线程编程中,一个变量在多个cpu中存在缓存不一致的情况,一般有以下两种解决办原创 2020-08-01 16:36:18 · 150 阅读 · 0 评论 -
Java并发编程学习01—大纲
一:并发基础和多线程 首先需要学习的就是并发的基础知识,什么是并发,为什么要并发,多线程的概念,线程安全的概念等。 然后学会使用Java中的Thread或是其他线程实现方法,了解线程的状态转换,线程的方法,线程的通信方式等。 二:JMM内存模型 任何语言最终都是运行在处理器上,JVM虚拟机为了给开发者一个一致的编程内存模型,需要制定一套规则,这套规则可以在不同架构的机器上有不同实现,并且向上为程序员提供统一的JMM内存模型。 所以了解JMM内存模型也是了解Java并发原理的一个重点,其中转载 2020-07-30 22:52:28 · 220 阅读 · 0 评论