锁
_自由之子_
这个作者很懒,什么都没留下…
展开
-
并发控制(6)ReentrantLock 重入锁
并发控制(6)ReentrantLock 重入锁 这个锁基本上概念和synchronized关键字用法很像,但是在实现上和使用上的稳定性上貌似比synchronized要好. 但是你在调用锁的时候,要注意释放,不然就麻烦了。。。其他线程没有办法使用资源了 有如下代码 import java.util.concurrent.CopyOnWriteArrayList; import java.util.原创 2016-08-21 20:19:53 · 275 阅读 · 0 评论 -
并发控制(7)信号量
并发控制(7)信号量 Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人让开后,其中等待的另外5个人中又有一个人可以占用了。另外等待的5个人中可以是随机获得优先机会,也可以是按照先来后到的顺序获得机会,这取决于构造Semaphore对象时传入的参数选项。 典型的应用场景,可以是限制JAVA程序的原创 2016-08-22 16:28:57 · 411 阅读 · 0 评论 -
java thread dump 分析 死锁
昨天看到有人问:”一个程序在运行的时候,如何知道它是否发生死锁,如果发生死锁,如何找到发生死锁的位置?“;便贴了一段dump线程的数据,今天又有人问我怎么从dump文件中分析死锁,随做此文: 1、首先构造死锁,代码如下: public class Deadlocker { private static Object lock_1 = new int[1]; private s转载 2016-12-08 20:25:06 · 3984 阅读 · 0 评论