什么是对象锁什么是类锁
时间: 2023-08-24 14:15:23 浏览: 99
引用\[1\]:对象锁是指锁住对象,不同实例的锁互不影响。对象锁有两种加锁的方式,一种是作用在实例方法上,使用关键字synchronized修饰,例如public synchronized void method(){}。\[1\]引用\[3\]:这种方式锁住的是当前对象this,即每个实例对象都有自己的对象锁。引用\[2\]:执行结果显示了使用对象锁的效果,Thread-0持有了对象锁。\[2\]
类锁是指锁住类的所有实例对象,即不同实例之间共享同一个锁。类锁有两种加锁的方式,一种是作用在静态方法上,使用关键字synchronized修饰,例如public static synchronized void method(){}。另一种是作用在类的Class对象上,使用关键字synchronized修饰,例如synchronized(Class.class) {}。类锁可以保证同一时刻只有一个线程能够访问类的静态方法或类的Class对象。
#### 引用[.reference_title]
- *1* *2* *3* [对象锁和类锁的区别](https://blog.csdn.net/qq_45036591/article/details/105461253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文