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