01: import java.util.Random;
02: 
03: /**
04:    This program uses three threads that transfer money between 
05:    three accounts. It can occasionally deadlock.
06: */
07: public class BankAccountThreadTest
08: {
09:    public static void main(String[] args)
10:    {
11:       BankAccount account0 = new BankAccount(1000);
12:       BankAccount account1 = new BankAccount(1000);
13:       BankAccount account2 = new BankAccount(1000);
14: 
15:       TransferThread t0 = new TransferThread(account1, account2, account0, 500);
16:       TransferThread t1 = new TransferThread(account2, account0, account1, 500);
17:       TransferThread t2 = new TransferThread(account1, account0, account2, 500);
18: 
19:       t0.start();
20:       t1.start();
21:       t2.start();
22:    }
23: }
24: