synchronized
关键字是Java中用于实现线程同步的一种内置机制。当使用synchronized
修饰方法或代码块时,默认的锁对象取决于其应用场景:
- 同步方法:如果
synchronized
修饰的是非静态方法,那么默认的锁对象就是当前实例对象(this)。这意味着在同一时刻,最多只有一个线程能够访问该实例的任何一个同步方法。不同实例之间的同步方法可以同时被不同线程访问,因为它们使用各自的实例作为锁。
public class MyClass {
public synchronized void synchronizedMethod() {
// 同步代码块
}
}