多线程
MuggleLee
希望通过写博客提高表达能力和自身的技能。
展开
-
多线程之线程安全性
多线程环境下使用非线程安全类会导致线程安全问题。线程安全问题表现为原子性,有序性,可见性 在讲述线程安全三大特性之前,先了解CPU一些基本概念(寄存器,高速缓存,缓存一致性。关系图下面有~)。 什么是寄存器?为什么寄存器比内存快? 引用Wiki对寄存器的部分描述: 寄存器(Register),是中央处理器内的其中组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央...原创 2019-04-17 23:38:48 · 268 阅读 · 0 评论 -
多线程之ReentrantLock源码剖析
剖析ReentrantLock非公平锁和公平锁的源码 ReentrantLock和synchronized一样是可重入锁。 可重入锁,也叫做递归锁。指的是同一线程外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。其最大作用是不会产生死锁。 ReentrantLock与synchronized的区别 与synchronized相比,ReentrantLock提供了更多,更加全...原创 2019-04-17 23:40:02 · 196 阅读 · 0 评论 -
多线程之并发类CountDownLatch、CyclicBarrier和Semaphor的使用
CountDownLatch 并发类CountDownLatch是什么? CountDownLatch:一个或多个线程等待其他线程完成操作。 什么情况下使用? 某一个动作需要等待其它线程完成后才会触发。 举个栗子,一个班上50个人,考完试之后需要计算全班同学的总成绩,这种情况使用CountDownLatch并发类就最合适了,每一个人的成绩等于一个线程,需要等待50个线程执行完之后才能执行最后...原创 2019-04-21 17:27:05 · 335 阅读 · 0 评论