社区
Java
帖子详情
请问一个synchronized 锁方法问题
sigma_2010
2018-07-31 11:38:04
Class TestSync{
private synchronized void test() {
String a="100";
}
}
都说synchronized 非静态的锁方法是锁当前对象,究竟当前对象是指哪个。。新手不太理解
...全文
252
6
打赏
收藏
请问一个synchronized 锁方法问题
Class TestSync{ private synchronized void test() { String a="100"; } } 都说synchronized 非静态的锁方法是锁当前对象,究竟当前对象是指哪个。。新手不太理解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大人ssp
2018-07-31
打赏
举报
回复
静态synchronized方法的锁是Java文件对应的Class对象,而非静态synchronized方法的锁是是个实例对象
weixin_42466285
2018-07-31
打赏
举报
回复
TestSync
verejava
2018-07-31
打赏
举报
回复
TestSync obj = new TestSync();
当前对象 obj
Java 多线程 之 银行ATM实例
http://www.verejava.com/?id=16992914422268
Tick-Tock
2018-07-31
打赏
举报
回复
TestSync 对象1 = new TestSync();
TestSync 对象2 = new TestSync();
对象1.test();锁的是对象1
对象2.test();锁的是对象2
对象1和对象2的test()可以同时执行,不会互斥
maradona1984
2018-07-31
打赏
举报
回复
当前对象就是当前对象,this这个关键字是否知道?就是这个指向的对象
Chenmoooooooooo
2018-07-31
打赏
举报
回复
就是你实例化的对象中,调用了非静态同步方法的那个对象。
synchronized
锁
解析
文章介绍了线程安全
问题
,通过
一个
不安全的线程自增示例引出
synchronized
的使用。
synchronized
用于解决并发修改
问题
,提供
方法
和代码块两种使用方式。接着探讨了
锁
的升级机制,包括偏向
锁
、轻量级
锁
和重量级
锁
,以适应不同竞争程度的场景,优化性能。
【Java】
Synchronized
锁
原理和优化
synchronized
是Java中用于处理并发
问题
的关键字,提供同步
锁
确保同一时刻只有
一个
线程执行特定代码。它有三种使用方式:修饰实例
方法
、静态
方法
和代码块。
synchronized
通过对象头的MarkWord和Monitor对象实现
锁
机制,并在JDK1.6后进行了优化,引入了偏向
锁
、轻量级
锁
等,以降低
锁
的性能开销。
锁
的状态会根据竞争情况从无
锁
逐步升级至重量级
锁
,但不会降级。
java线程——
synchronized
锁
重入
本文探讨了Java中
synchronized
关键字的
锁
重入特性,并通过示例代码展示了如何在
一个
对象的多个
方法
间实现同步。此外,还讨论了异常情况下
锁
的自动释放
问题
及其对应用程序的影响。
一题引出“Java的
synchronized
锁
问题
”
本文通过一道题目深入探讨Java的
synchronized
锁
问题
。分析指出,修饰非静态
方法
时,
锁
的对象是实例对象(this),而修饰静态
方法
则
锁
的是类对象(类的字节码文件)。同步代码块和同步
方法
分别如何
锁
定对象也进行了详细阐述。对于类
锁
,
一个
线程访问静态
方法
时,其他线程将无法访问同类的静态
方法
,但对于实例
锁
,线程访问实例
方法
不影响其他线程访问不同实例的
方法
。
synchronized
锁
run()的
问题
本文通过
一个
模拟银行取款的实例,深入探讨了在Java多线程环境下,使用
synchronized
关键字的不同方式来解决并发安全
问题
。文章首先指出,直接在run
方法
上使用
synchronized
并未能有效防止多个线程同时访问,因为每次创建线程都会生成新的对象
锁
。随后,介绍了两种有效的解决方案:一是改用Runnable接口,使得所有线程共享同一对象
锁
;二是采用
synchronized
代码块,明确指定要
锁
定的对象,确保同一时间内只有
一个
线程可以操作该对象。
Java
51,408
社区成员
86,092
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章