Slide 24
Slide 24 text
23
public class TransferDeadlock {
public static void main(String[] args) throws Exception {
AccountManager manager = new AccountManager();
Account src = new Account(1000);
Account dest = new Account(1000);
Thread t1 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
manager.transfer(src, dest, 1);
}
});
Thread t2 = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
manager.transfer(dest, src, 1);
}
});
t1.start();
t2.start();
t1.join();
t2.join();
}
}