Как решить проблему параллелизма в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Как решить проблему параллелизма в Java

Сообщение Anonymous »

Я борюсь с проектом «Аукционная система» в Java. Я не знаю, какой шаблон или методы наиболее эффективны для борьбы с параллелизмом при размещении ставок. Достаточно ли использовать «синхронизировано»? Или мне следует использовать блокировки?... Если я делаю что-то не так, дайте мне знать.
public synchronized void Bid(Item item, Bidder bidder, double bidAmount) {
if (bidAmount bidder.getBalance()) {
System.out.println("Bid failed");
return;
}

if (latestBid != null) {
latestBid.getBidder().unlockMoney(latestBid.getBidAmount());
}

BidTransaction bt = new BidTransaction(item, bidder, bidAmount);
bidHistory.add(bt);
setLatestBid(bt);
item.setCurrentPrice(bidAmount);
bidder.lockMoney(bidAmount);

System.out.println(bidder.getUsername() + " bid " + bidAmount);
}

Вернуться в «JAVA»