同步函数(synchronized function)是Java中用来实现线程同步的一种机制。它可以确保在同一时间只有一个线程可以访问被同步函数所属的对象。在本文中,我们将通过一个详细的示例来演示如何使用同步函数来保护共享资源。
示例场景:
假设我们有一个银行账户类(BankAccount),其中包含一个表示账户余额的变量(balance)。我们的目标是确保在多个线程同时访问该账户时,不会发生数据竞争(data race)和不一致的情况。我们将使用同步函数来实现这一目标。
首先,让我们创建一个简单的BankAccount类,如下所示:
public class BankAccount {
private int balance;
public BankAccount(int initialBalance)