摘要: 从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 在上面一篇文章中,我们了解到如果一个代码块被synchr... 阅读全文
posted @ 2015-11-13 21:26 okay4321 阅读(208) 评论(0) 推荐(0)
摘要: 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被... 阅读全文
posted @ 2015-11-13 21:10 okay4321 阅读(337) 评论(0) 推荐(0)
摘要: 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。publicclassThread1implementsRunnable{publicvoidrun()... 阅读全文
posted @ 2015-11-13 15:51 okay4321 阅读(240) 评论(0) 推荐(0)