是的,synchronized
关键字在Java中用于多线程同步。它可以确保在同一时刻只有一个线程可以访问共享资源或代码块,从而防止数据不一致和并发问题。
synchronized
可以用在方法和代码块上。当用在方法上时,整个方法将被视为同步代码块。当用在代码块上时,需要指定一个对象作为锁。
以下是一些使用synchronized
关键字的示例:
public class SynchronizedMethodExample {
public synchronized void synchronizedMethod() {
// 同步代码
}
}
public class SynchronizedBlockExample {
private final Object lock = new Object();
public void synchronizedBlockMethod() {
synchronized (lock) {
// 同步代码
}
}
}
在这两个示例中,synchronized
关键字确保在同一时刻只有一个线程可以执行同步代码。这有助于保护共享资源免受多线程环境中的并发访问问题。