对象锁定和 Class 级别锁定
Object Lock and Class Level Lock
最近我参加了一次面试,他们给我提了一个 question.It 是
"At what context do you decide that you should go for Object Lock/Class Level lock" ?
我的回复是:
如果想在静态方法上应用同步概念,您需要使用 Class 级别锁,否则应该使用对象锁。
有没有更好的答案?
您的回答只是简要定义了什么是对象锁和 class 锁,但没有定义您应该何时使用它们。
使用对象级锁,您可以确保不同的线程不会对对象的同一实例造成不安全的情况。
Class 级别锁确保对象的不同实例在不同线程中无法访问可以是静态方法的不安全代码块。您可以查看更多详情in this answer
最近我参加了一次面试,他们给我提了一个 question.It 是
"At what context do you decide that you should go for Object Lock/Class Level lock" ?
我的回复是:
如果想在静态方法上应用同步概念,您需要使用 Class 级别锁,否则应该使用对象锁。
有没有更好的答案?
您的回答只是简要定义了什么是对象锁和 class 锁,但没有定义您应该何时使用它们。
使用对象级锁,您可以确保不同的线程不会对对象的同一实例造成不安全的情况。
Class 级别锁确保对象的不同实例在不同线程中无法访问可以是静态方法的不安全代码块。您可以查看更多详情in this answer