![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
java多线程
编程初学者z
这个作者很懒,什么都没留下…
展开
-
同步工具类之CountDownLatch
同步工具类之CountDownLatch1.CountDownLatch的作用2.CountDownLatch的使用3.countDownLatch的原理3.1 countDown原理3.2 await原理4.CountDownLatch与CyclicBarrier的区别1.CountDownLatch的作用CountDownLatch的作用很简单,就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。 我们举一个例子来说明,在考试的时候,老师必须要等到所有人交了试卷才可以走。此时老师原创 2020-06-17 22:01:06 · 178 阅读 · 0 评论 -
ReentrantLock可重入锁的实现原理
ReentrantLock可重入锁的实现原理1. Lock接口2. 公平锁和非公平锁的实现2.1 公平锁2.2 非公平锁3.总结首先先介绍Lock接口,然后通过分析ReentrantLock的lock方法和unlock方法,来解释ReentrantLock的内部原理.1. Lock接口Lock接口,是对控制并发的工具的抽象。它比使用synchronized关键词更灵活,并且能够支持条件变量。它是一种控制并发的工具,一般来说,它控制对某种共享资源的独占。也就是说,同一时间内只有一个线程可以获取这个锁原创 2020-06-11 21:17:09 · 1279 阅读 · 3 评论 -
java多线程基础(二)
java多线程基础(二)1.ThreadLocal1.2 ThreadLocal原理1.3 ThreadLocal 内存泄露问题1.ThreadLocalThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 ThreadLocal 是 JDK java.lang 包中的一个用来实现相同线程数据共享不同的线程数据隔离的一个工具。如果你创建了原创 2020-06-03 22:05:26 · 176 阅读 · 0 评论 -
java多线程基础(一)
java多线程基础(一)1.线程的生命周期及五种基本状态1.线程的生命周期及五种基本状态Java线程具有五中基本状态:新建状态(New):当线程对象被创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行;运行状态(Runni原创 2020-05-20 21:15:28 · 282 阅读 · 0 评论