在Java中,Synchronized關鍵字用于實現線程的同步,確保在多個線程訪問共享資源時的線程安全。
Synchronized關鍵字可以用于以下幾種方式的同步:
示例:
public synchronized void synchronizedMethod() {
// 同步代碼塊
}
示例:
public void synchronizedBlock() {
synchronized (this) {
// 同步代碼塊
}
}
示例:
public class SynchronizedObject {
public synchronized void synchronizedMethod() {
// 同步方法
}
}
public class Main {
public static void main(String[] args) {
SynchronizedObject obj = new SynchronizedObject();
synchronized (obj) {
// 同步代碼塊
}
}
}
需要注意的是,Synchronized關鍵字只能用于同步實例方法、同步靜態方法和同步代碼塊,不能用于變量或其他類型的代碼。另外,Synchronized關鍵字是可重入的,也就是說一個線程可以多次獲得同一個鎖。