package watki.konto;

public class Zycie_BezSynchonizacji {

	public static void main(String[] args) {
		Konto konto = new Konto(1, "Ala Kowalska", 12000);
		System.out.println(konto);
		
		Thread wplacacz = new Thread(() -> {
			for(int i = 0; i < 1000; i++) {
				try {
					Thread.sleep(5000);
				} catch (InterruptedException e) {
				}
				konto.wplata(10000);
				System.out.println("wpłacone, teraz jest " + konto.getSaldo());
			}
		});

		Thread wyplacacz = new Thread(() -> {
			for(int i = 0; i < 100_000; i++) {
				try {
					Thread.sleep(550);
				} catch (InterruptedException e) {
				}
				try {
					konto.wyplata(2500);
					System.out.println("wypłacone, teraz jest " + konto.getSaldo());
				} catch (Exception e) {
					System.err.println(e.getMessage());
				}
			}
		});
		
		wplacacz.start();
		wyplacacz.start();
		
		// oczekiwanie na zakończenie wątku - operacja join
		try {
			wplacacz.join();
			wyplacacz.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
		System.out.println(konto);
	}

}
