Java锁之可重入锁介绍
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如synchronized和ReentrantLock等等)。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。
四、可重入锁:
本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。
可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响。
在JAVA环境下ReentrantLock和synchronized都是可重入锁。
下面是使用实例:
publicclassTestimplementsRunnable{
publicsynchronizedvoidget(){ System.out.println(Thread.currentThread().getId()); set(); }
publicsynchronizedvoidset(){ System.out.println(Thread.currentThread().getId()); }
@Override publicvoidrun(){ get(); } publicstaticvoidmain(String[]args){ Testss=newTest(); newThread(ss).start(); newThread(ss).start(); newThread(ss).start(); } }
热门推荐
10 发财祝福语长辈的话简短
11 给老师祝福语简短元旦
12 外出生日祝福语简短
13 电力考试祝福语简短高级
14 新婚祝福语简短老同学
15 送你妹妹新婚祝福语简短
16 春节送祝福语简短的
17 对同学祝福语 简短独特
18 新房落成的简短祝福语