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