并发编程
文章平均质量分 73
dongensi
这个作者很懒,什么都没留下…
展开
-
Java并发编程之ReentrantLock学习
[size=large]Lock和synchronized区别[/size]1、synchronized是java提供的内置关键字,一旦使用线程就被锁住,直到线程执行完成或者处于wait状态下才会释放;如果线程处于阻塞了就会其他线程就会一直等待,如sleep;2、Lock是一个接口,在JDK1.5提供,属于JUC下面常用的同步处理接口。在执行同步是都需要通过方法获取锁,执行完成之后...原创 2016-07-20 17:10:53 · 124 阅读 · 0 评论 -
java深入学习ConcurrentHashmap (JDK8)
原博文:http://blog.csdn.net/u010723709/article/details/48007881看了一些博文,总结下(JDK8源码):1、ConcurrentHashmap 使用的是位桶+链表/红黑树实现,结构与hashmap一样,它摒弃了以前Segment(锁段)的概念,而用了一种新的方式实现,CAS算法实现,并且为了实现并发,加入了如treeBin等辅助类...原创 2016-08-22 15:43:27 · 190 阅读 · 0 评论 -
Java深入学习之死锁
最近在研究Java并发,学习死锁时偶然发现了一种嵌套管程锁死,所以自己实现了下,可能在不小心中就会犯这种错误。[size=large]1、死锁实现[/size] 死锁原理很简单,就是线程1先获取锁A,在获取锁B;而线程2先获取锁B,在获取锁A,由于两个线程获取顺序不一样,都没有将各自的锁释放,所以就出现了死锁。代码实现也很简单:[code="java"]public ...原创 2016-02-22 14:30:29 · 82 阅读 · 0 评论