是的,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()
中的同步代码。