Tan*_*eja 3 java static multithreading synchronized
当两个线程同时使用不同的实例调用静态同步方法时会发生什么?可能吗?对象锁用于非静态同步方法但是什么类型的锁用于静态同步方法?
它与在Class实现该方法的对象上进行同步是一样的,所以是的,它是可能的,并且是的,该机制有效地忽略了调用该方法的实例:
class Foo {
private static synchronized doSomething() {
// Synchronized code
}
}
Run Code Online (Sandbox Code Playgroud)
是写这个的快捷方式:
class Foo {
private static doSomething() {
synchronized(Foo.class) {
// Synchronized code
}
}
}
Run Code Online (Sandbox Code Playgroud)
有可能的.
线程锁定Class类的对象,如on MyClass.class.
8.4.3.6.同步方法
同步方法在执行之前获取监视器(第17.1节).
对于类(静态)方法,使用与方法类的Class对象关联的监视器.
| 归档时间: |
|
| 查看次数: |
2310 次 |
| 最近记录: |