在Java中,synchronized关键字用于实现线程之间的同步。它可以用来修饰方法或代码块。
在方法声明中使用synchronized关键字来实现对整个方法的同步。只有一个线程可以进入被synchronized修饰的方法,其他线程需要等待。
public synchronized void method() {
// 代码逻辑
}
使用synchronized关键字来修饰一段代码块,只有一个线程可以进入该代码块,其他线程需要等待。
synchronized (object) {
// 代码逻辑
}
这里的object
可以是任意对象,但是需要保证不同线程使用的是同一个对象。
需要注意的是,synchronized关键字可以实现线程之间的同步,但是会引入一定的性能开销。另外,synchronized关键字只能实现对同一个对象的同步,对于不同对象之间的同步需要使用其他机制,如Lock接口。