Bu bölümde çok threadli programların baş belası kilitlenme/tıkanma (deadlock) durumunu inceleyeceğiz.
Bu bölümdeki örnek programımızda iki banka hesabı arasındaki para transferini örnekleyeceğiz. Bir banka hesabını tanımlayan “Account” (Hesap) sınıfı aşağıdaki gibidir:
public class Account { private int balance = 10000; public static void transfer(Account sourceAccount, Account targetAccount, int amount) { sourceAccount.withdraw(amount); targetAccount.deposit(amount); } public void deposit(int amount) { balance += amount; } public void withdraw(int amount) { balance -= amount; } public int getBalance() { return balance; } }
“Java’da Multithreading – Bölüm 10: Kilitlenme (Deadlock)” yazısını okumaya devam et