是的,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
关键字确保在同一时刻只有一个线程可以执行同步代码。这有助于保护共享资源免受多线程环境中的并发访问问题。