java 线程重入,java synchronized加载加锁-线程可重入详解及实例代码
java synchronized加载加锁-线程可重入
实例代码:
public class ReGetLock implements Runnable {
@Override
public void run() {
get();
}
public synchronized void get() {
System.out.println(Thread.currentThread().getId());
set();
}
public synchronized void set() {
System.out.println(Thread.currentThread().getId());
}
public static void main(String[] args) {
ReGetLock rgl = new ReGetLock();
new Thread(rgl).start();
}
}
执行代码的线程到底能不能进入到set方法呢?
因为线程rgl先调用了get方法,获取到了ReGetLock对象的锁,那么当线程rgl想进入标有synchronized 关键字的set方法时,会被阻塞住,一直等待吗?
其实是不会的,在JAVA里面,当某个线程试图获得一个已经由它自己持有的锁,那么这个请求会成功。不然会出现死锁。
因此像synchronized 这种加锁机制,线程是可重入的。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
java 线程重入,java synchronized加载加锁-线程可重入详解及实例代码相关推荐
- Java 线程池详解及实例代码
转载自 Java 线程池详解及实例代码 这篇文章主要介绍了Java 线程池的相关资料,并符实例代码,帮助大家学习参考,需要的朋友可以参考下 线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时 ...
- 加载、滑动翻阅大量图片解决方案详解
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清大图全屏 ...
- iOS开发——加载、滑动翻阅大量图片解决方案详解
目录(?)[-] 常规思路流程 使用低分辨率图 多线程任务 优化快速翻阅体验 最后还一个砍儿 加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的 ...
- iOS开发——加载、滑动翻阅大量图片解决方案详解 .
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清大图全屏 ...
- java super实例_java Super 用法详解及实例代码
java Super 用法详解及实例代码 发布于 2021-1-8| 复制链接 摘记: java Super 用法详解 1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建 ...
- Android平滑图片加载和缓存库Glide使用详解
在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路.现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fr ...
- java的连接 初始化_java类从加载、连接到初始化过程详解
Java代码在编译后会转化成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化成汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令. 类加载 ...
- Java进阶 23种设计模式 详解+应用+实例代码
文章目录 前言 设计模式六大原则 1.单一原则 (1) 概念 (2) 优点 2.开闭原则 (1) 概念 3.里氏替换原则 (1) 概念 4.依赖倒置原则 (1) 概念 (2) 作用 5.接口隔离原则 ...
- java弱引用在安卓中有效吗_Android 软引用和弱引用详解及实例代码
Android 软引用 和 弱引用 1. SoftReference:软引用-->当虚拟机内存不足时,将会回收它指向的对象:需要获取对象时,可以调用get方法. 2. WeakReferen ...
最新文章
- 【深度学习】利用一些API进行图像数据增广
- wsdl文件是怎么生成的_电子标书怎么做需要注意的事项,您学会了吗?
- 编写批处理文件编译.Net工程
- F-Stack KNI配置注意事项
- 有哪些朋友圈励志说说短句?
- 中兴被逼入绝境,或将出售手机业务?
- TCP、UDP绑定同一端口通信的解释-转
- SharePoint列表下拉框优化
- python入门代码大全-python入门代码指南教程书籍推荐2020总结全集汇总
- javascript css函数一设置/读取对象的属性(Style对象与CurrentStyle对象、getComputedStyle)及其小案例
- java源代码解除断点_此断点目前不会被命中,源代码与原始代码不同(即使在清理/重建后)...
- 计算机组成原理课后答案蒋本,计算机组成原理习题答案(蒋本珊).doc
- python 爬取公众号文章_python批量爬取公众号文章
- mipi的dsi全称_MIPI DSI协议介绍
- 一层神经网络实现鸢尾花数据集分类
- Windows防火墙无法更改某些设置
- 计算机管理无法连接虚拟磁盘服务,win10系统电脑打开磁盘管理出现“无法连接虚拟磁盘服务”的教程...
- 常见网络安全产品汇总(私信发送思维导图)
- 联合分布(一):什么是概率分布
- 【conda安装】mamba安装 ==conda安装记录
热门文章
- bresenham算法画圆mfc实现_kd-tree理论以及在PCL 中的代码的实现
- Linux环境安装redis
- Appfuse:扩展自己的GenericManager
- Java单例模式实现(线程安全)
- python error: no module named pylab的解决
- 处理顶点——通过切线空间的凹凸映射添加逐像素细节
- 权限数据库设计(Sql Server)
- python连接linux后一步一步的操作_Python使用技巧
- 基于Python-turtle库绘制哆啦A梦
- No module named ‘yaml‘错误解决办法