Bom dia pessoa, em vez de usar synchronized, como poderia usar o semaforo na situação abaixo?
public synchronized boolean saque(Conta conta, double valor) {
double saldo = conta.getSaldo();
if (saldo < valor) {
System.out.println(“Saldo insuficiente para o saque.”);
return false;
}
double novoSaldo = saldo - valor;
System.out.println(Thread.currentThread().getName() + " sacou R$" + valor + “. Saldo após saque: R$” + novoSaldo);
conta.setSaldo(novoSaldo);
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}