温馨提示×

java synchronized方法怎样实现

小樊
81
2024-12-04 11:51:58
栏目: 编程语言

在Java中,synchronized关键字用于控制多线程对共享资源的访问,以实现线程同步。synchronized方法是一种特殊的synchronized块,它锁定的是当前对象实例(this)。当一个线程访问synchronized方法时,其他线程将无法访问该对象的任何synchronized方法或synchronized块,直到第一个线程释放锁。

要实现synchronized方法,只需在方法声明前加上synchronized关键字即可。以下是一个简单的示例:

public class SynchronizedExample {
    // 定义一个共享资源
    private int counter = 0;

    // 定义一个synchronized方法
    public synchronized void increment() {
        // 临界区:访问共享资源
        counter++;
    }

    public synchronized void decrement() {
        // 临界区:访问共享资源
        counter--;
    }

    public synchronized int getCounter() {
        // 返回共享资源的值
        return counter;
    }
}

在这个示例中,我们定义了一个名为SynchronizedExample的类,其中有一个共享资源counter和一个synchronized方法increment()、decrement()和getCounter()。当一个线程调用increment()方法时,它将锁定当前对象实例,其他线程将无法访问该对象的任何synchronized方法,直到第一个线程释放锁。这样可以确保在多线程环境下对counter变量的访问是线程安全的。

0