![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【java进阶】- 多线程
文章平均质量分 85
老汉健身
这个作者很懒,什么都没留下…
展开
-
【温故知新】-JUC包梳理
1.概念1.1JUC是什么1.2JUC底层AQS原理2.工具2.1线程池2.2CountDownLatch2.3CyclicBarrier2.4Semphare2.5ReentrantLock2.6Queue2.7volatile原创 2021-02-15 15:38:37 · 424 阅读 · 0 评论 -
【温故知新】-java开发中涉及的各种锁盘点
java开发中会碰到各种锁,这篇针对java开发中会碰到的锁进行归纳总结~1.概念1.1乐观锁,悲观锁乐观锁:比较乐观,认为存在并发的可能性比较小,所以采取乐观的态度加锁,在数据提交更新的时候才会去校验是否发生冲突,比如常见的CAS锁.悲观锁:比较悲观,认为并发存在且发生数据冲突的可能性较大,所以在整个数据处理过程中都加锁,其它线程在处理数据的时候需要阻塞,挂起.在并发和资源竞争不激烈的情况下,乐观锁的效率要比悲观锁高,在并发激烈的情况下,悲观锁更适合.1.2共享锁,排他锁悲观锁原创 2021-02-12 20:37:26 · 245 阅读 · 1 评论 -
【java进阶】- 多线程-内存可见性
1.可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到.共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量.通过上图不难得出以下结论:线程对共享变量的所有操作都必须在自己的工作内存中进行,不能直接从主线程中读写.不同的线程之间无法直接访问其他线程工作内存中的变量,线程间变量值的传递需要通过主内存来完成. 2.syn...原创 2018-08-06 18:06:12 · 275 阅读 · 0 评论 -
【高并发专题】-java线程安全-原子性-Automic包详解
线程安全性当多个线程同时访问某个类时,不管采取何种线程调度方法,在主调代码中不需要采取额外的同步或者协同,这个类都能表现出正确的行为,那么这个类就是线程安全的.线程安全的三个特性原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行操作.可见性:一个线程对主内存的修改会被其他线程所看到.有序性:编译器和处理器可能会为了性能对操作指令进行重新排序,重新排序后对单个线程的程序执行...原创 2019-06-04 10:21:33 · 1809 阅读 · 0 评论 -
【高并发专题】-java线程安全-原子性-Lock包详解
对于锁,已经是老生常谈了,前面也梳理过很多次了,我甚至都不想再写这篇了,但其在高并发多线程中的重要性还是不言而喻的,所以还是决定再开一篇,从更深层的角度分析JUC提供的lock包.先来看一下jdk1.8-api,java.util.concurrent.locks包的结构:其中红框中勾出来的是比较重要且经常被用到的,必学必会的部分.提到锁,先来说一下最最常见的锁:synchro...原创 2019-06-04 18:34:18 · 619 阅读 · 0 评论