001 //package edu.unima.ky.parallel;
002
003 /**
004 * Finanz version A.
005 * Multi threaded application generates transactions using
006 * objects from KontoA and displays results.
007 * Uses synchronized Konto.
008 * @author Heinz Kredel.
009 */
010
011 public class FinanzA {
012
013 /**
014 * @param args
015 */
016 public static void main(String[] args) {
017
018 for (int i=0; i < 10; i++) {
019 KontoA a = new KontoA(0.0);
020 KontoA b = new KontoA(2000);
021
022 Thread t1 = new UeberweisungA(a,b,10.0); // a is the accont to get amount from.
023 Thread t2 = new UeberweisungA(a,b,10.0); // b is account to add amount to.
024 // 10.0 is the amount to transfer.
025 Thread t3 = new UeberweisungA(a,b,10.0);
026 Thread t4 = new UeberweisungA(b,a,30.0);
027
028 t1.start(); t2.start(); t3.start(); t4.start();
029
030 System.out.println("Stand a = " + a.zeigeGeld() +
031 " Stand b = " + b.zeigeGeld() );
032
033 try {
034 t1.join(); t2.join(); t3.join(); t4.join();
035 } catch(InterruptedException e ) { }
036
037 System.out.println("Endstand a = " + a.zeigeGeld() +
038 " Endstand b = " + b.zeigeGeld() );
039 }
040 }
041
042 }