static void Main(string[] args) { Thread t1; Thread t2; MoneyAccount ma1; MoneyAccount ma2; ma1 = new MoneyAccount(3000); ma2 = new MoneyAccount(3000); TransferThread tt1 = new TransferThread("Thread1", ref ma1, ref ma2); TransferThread tt2 = new TransferThread("Thread2", ref ma2, ref ma1); t1 = new Thread(new ThreadStart(tt1.TransferMoney)); t2 = new Thread(new ThreadStart(tt2.TransferMoney)); t1.Start(); t2.Start(); t1.Join(); t2.Join(); }