![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 76
爱学习爱聊天
有计划的去写
展开
-
多线程-线程间通讯
学习思路: 线程同步-锁 wait、notify join ThreadLocal 通过管道输入/输出流(字符流、字节流) 服务如果一直处于单线程访问,那将毫无意义,多用户访问必然产生多线程,而多线程访问必然离不开线程间通讯 一、线程同步-锁 多线程操作共享资源时势必会产生线程安全的问题(也就是我们说的线程相互影响),而遇到线程安全问题我们最先想到的基本都是锁,比如:syncrhoi...原创 2020-04-14 17:41:52 · 123 阅读 · 0 评论 -
多线程-线程安全-volatile
学习思路: 线程安全的三大特性 普通成员变量内存读取流程 被volatile修饰后的成员变量 一、线程安全的三大特性 原子性:指定代码块是原子操作(要么全成功要么全失败,不可拆分) 可见性:修改共享变量时立即同步到主内存,保证对其它线程可见,读取共享变量时直接从主内存读取 有序性:代码的执行循序和语句的顺序保持一致,在JVM中为了提高运行效率,允许处理器和编译器对指令进行重排序 二、普...原创 2020-04-08 16:29:29 · 275 阅读 · 0 评论 -
线程加锁过程-锁升级
都说synchronized锁jdk1.6之前很慢,1.6以后优化的已经很快了,今天看一下到底怎么个快法了,优化了哪些呢? 大概意思就是jdk1.6以前加锁就是重量级锁之后又引入了偏向锁、轻量级锁,从而总共有了四种锁状态,由低到高为:无锁状态-》偏向锁状态-》轻量级锁状态-》重量级锁状态 1、无锁状态 没有对资源进行锁定,所有线程都能访问公共资源 2、偏向锁 一段同步代码块,不存在多线程...原创 2020-04-01 17:58:20 · 457 阅读 · 0 评论 -
阻塞队列(BlockingQueue)
1:BlockingQueue继承关系 java.util.concurrent 包里的BlockingQueue是一个接口,继承Queue接口,Queue接口继承Collection BlockingQueue----->Queue-->Collection 图: 队列的特点是:先进先出(FIFO) 2:BlockingQueue的方法 ...转载 2019-10-15 10:58:08 · 168 阅读 · 0 评论