多线程学习篇

本文探讨了Java中synchronized关键字如何确保对象在同一时间只有一个线程访问,解释了对象锁的单次持有特性,并举例说明了线程A和B对对象X的锁定行为。C线程在未加锁时可以访问的情况也做了讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1关于线程锁synchronized

1经过测试发现,一个对象只能被锁一次,无法重复加锁。
举例来说:线程A,B执行同一类任务,任务中需要锁定对象X,A进入之后,X上就已经有一把锁了,此时他已经不能再被B锁了,即一个对象只能持有1把锁或者0.
2A线程把X给锁了后,C线程在不加锁的情况下是可以调用X对象的。

  • 持续更新中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值