首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多线程操作-可重入锁概念

2012-09-29 
多线程操作---可重入锁概念//可重入锁的概念是 自己可以再次获得自己的内部锁,//重进入的实现是通过每个锁

多线程操作---可重入锁概念
//可重入锁的概念是 自己可以再次获得自己的内部锁,
//重进入的实现是通过每个锁关联一个请求计数和一个占有它的线程,当计数为0时,认为锁是未被占有的,线程请求一个未被占有的
//锁时,jvm将记录锁的占有者,并将请求计数置为一,如果同一个线程再次请求,计数器将递增,每次占用线程退出同步块
//计数器值将递减,直到计数器为0,锁释放
//如果内部锁不是可重入的,代码将死锁

 class Widget{public synchronized void doSomething(){}} class LoggingWidget extends Widget{ public synchronized void doSomething(){ System.out.println("1111"); super.doSomething(); //这里需要再次获得自己的锁,如果锁不可重入将导致死锁 } }

热点排行