@Synchronized
是 Lombok 提供的一个注解,可以帮助我们在方法或者代码块上添加 synchronized
关键字,从而实现同步访问。使用 @Synchronized
注解可以让我们避免手动添加 synchronized
关键字,从而减少样板代码。
下面是一个简单的示例代码:
import lombok.Synchronized;
public class SynchronizedExample {
private final Object lock = new Object();
@Synchronized
public void synchronizedMethod() {
// 这个方法会被 synchronized 修饰
}
public void manualSynchronizedMethod() {
synchronized (lock) {
// 这个代码块也是同步的
}
}
}
在上面的示例中,synchronizedMethod
方法使用了 @Synchronized
注解,它会被 synchronized
修饰,从而实现同步访问。与之对比的是,manualSynchronizedMethod
方法是手动添加了同步代码块的版本。
需要注意的是,@Synchronized
注解默认会使用一个私有的字段作为锁对象。如果需要指定其他对象作为锁对象,可以在注解中添加参数,例如 @Synchronized("customLock")
。