自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 多线程AQS系列2 - Reentantlock源码解读

上篇的CountDownLatch可能太过简单的理论了,几乎0代码了。不太适合0开始学习的。 这篇尽量详细一些,如果太详细全是代码的文章也很难受!所以写文章还真是个技术过。 Reentantlock Reentant:百度翻译 意思是:【再进去的】 所以这个类起个名就是:可重入锁。但是synschonized也是具有可重入性,他叫啥名,他就叫synschonized。或者更准确些就是Ree...

2019-03-30 14:43:06 154

原创 java多线程-理解CAS

原子性 顾名思义,和化学领域的原子概念一样,就是不可再拆分的物质。 JVM原子性操作 JVM规定的原子性操作有8个,read、load、use、asign、store、write、lock、unlock 就是在JVM的规定下,只有这几个操作是原子性的,不会存在多线程下不安全的情况。 除此之外,无法保证! num ++操作 num++ 操作是非原子操作,虽然简单的一行代码,但是在...

2019-03-30 13:01:36 146

原创 多线程AQS系列1 - CountDownLatch原理解读

业务场景模拟: 有2个线程池A和B,各有100个线程。A的100个线程需要等到B的100个线程全部执行完毕后,才能开始计算A的任务。 流程说明:首先有一个对象:ZryCountDownLatch ZryCountDownLatch = new ZryCountDownLatch(100); 线程池B的流程: 线程池B的线程池启动任务,任务完毕后,100个线程分别执行ZryCountDownLatc...

2019-03-29 23:02:07 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除