Java并发学习笔记-重入机制
重入机制
//20230328 在学习并发的时候看到了重入机制,在此记录一下
概念
- 背景:Java拥有锁机制(synchronized),这种锁是互斥锁,一个线程拿到了锁,另一个线程请求锁的时候就会阻塞,直到该锁被释放
- 核心概念:重入是指同一个线程多次访问同一个锁的时候,是可以拿的到的,该机制避免了死锁问题;同时引入了一个计数器概念,每个锁对应着一个计数器,锁未被持有的时候,计数器为0,当有线程持有时,计数器加一,当重入时,则继续递增,只有其重归于0的时候才能被其他线程获取到
代码示例
public class Widget{
public synchronized void doSomething(){
...
}
}
public class LoggingWidget extend Widget{
public synchronized void doSomething(){
System.out.println(toString()+": calling doSomething");
super.doSomething();//此处调用父类上锁方法,属于同一线程调用同一个锁,如果没有重入机制,在此处会导致死锁
}
}
以上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2020-03-28 python_Tkinter使用过程中的一些小的总结