Java 可重入锁
精华
小牛编辑
139浏览
2023-03-14
1 什么是Java可重入锁
根据Sun公司的说法,Java锁是可重入的,这意味着,如果从方法中调用方法,则Java线程可以将同一把锁用于不同的同步方法。
2 Java可重入锁的优势
它避免了单线程死锁。
3 Java可重入锁的例子
让我们通过以下示例了解Java可重入锁:
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java可重入锁的例子
*/
class Reentrant {
public synchronized void m() {
n();
System.out.println("this is m() method");
}
public synchronized void n() {
System.out.println("this is n() method");
}
}
在此类中,m和n是同步方法。m() 方法在内部调用n() 方法。
现在让我们在线程上调用m() 方法。在下面给出的类中,我们使用匿名类创建线程。
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java可重入锁的例子
*/
public class Demo{
public static void main(String args[]){
final Reentrant re=new Reentrant();
Thread t1=new Thread(){
public void run(){
re.m();//calling method of Reentrant class
}
};
t1.start();
}}
输出结果为:
this is n() method
this is m() method