Race conditions are possible in many computer systems. Consider an online auction system where the current highest bid for each item must be maintained. A person who wishes to bid on an item calls the bid(amount) function, which compares the amount being bid to the current highest bid. If the amount exceeds the current highest bid, the highest bid is set to the new amount. This is illustrated below:double amount = 0.0;void bid(double amount) { if (amount > highestBid) highestBid = amount;}Describe how a race condition is possible in this situation (you may describe it with some scenario)?What might be done to prevent the race condition from occurring? (you may just modify the code using "acquire()" and "release()" statements)