
JAVA多线程
weixin_39722651
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java多线程之ThreadLocal
ThreadLocal是每个线程的“独有”空间,可以存放线程的独有变量。如下例,分别使用ThreadLocal和ArrayList存储两个线程的变量:import java.util.ArrayList;import java.util.List;public class ThreadLocalDemo{static ThreadLocal<List> threadLoca...原创 2019-03-03 18:40:57 · 286 阅读 · 0 评论 -
JAVA多线程之Lock
synchronized关键字实现的锁不容易控制,java提供了Lock接口来实现锁机制。两者的主要区别在于:1)synchronized是java内置关键字,而Lock是接口;2)synchronized可以自动的释放锁,比如代码执行完成,出现异常等,也可以通过wait()方法手动释放锁;但是Lock需要用unlock方法手动释放锁。3)synchronized锁可重入,不可判断,非公...原创 2019-03-04 09:56:38 · 171 阅读 · 0 评论 -
两种线程安全的单例模式(笔记)
双重校验锁//双重校验锁public class SingletonDemo{ private static volatile SingletonDemo singleton; private SingletonDemo(){} public static SingletonDemo getInstance(){ if(singleton ==...原创 2019-03-16 11:26:48 · 196 阅读 · 0 评论 -
JAVA多线程之CountDownLatch和CyclicBarrier
1 CountDownLatch(1)countDownLatch等待指定数量线程结束后,进行下一步;(2)countDownLatch构造函数初始化一个volatile变量,countDown()方法,使用了CAS,和AutomicInteger的增减方法相同;(3)await方法阻塞当前线程,直到getCount值为0,如果不调用countDown方法,getCount的值部位0,那...原创 2019-03-08 11:29:25 · 181 阅读 · 0 评论