Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Threading;
- namespace ZADATAK_BANKA_POKUSAJ_2
- {
- class Program
- {
- static SemaphoreSlim semafor1 = new SemaphoreSlim(15);
- static AutoResetEvent a1 = new AutoResetEvent(true);
- static readonly object obj1 = new object();
- static bool b = true;
- static int brojLjudi = 0;
- static int brojUplatnica = 0;
- static int ukupanBrojUplatnica = 0;
- static int k = 0;
- static void radnoVreme()
- {
- Thread.Sleep(17000);
- k++;
- Console.WriteLine("........BANKA SE ZATVORILA !!!...........");
- }
- static void Salter3()
- {
- Console.WriteLine("Klijent popunjava uplatnicu/ce na salteru 3.");
- Thread.Sleep(brojUplatnica * 40);
- Console.WriteLine("Klijent prolazi pored obezbedjenja i napusta banku.");
- semafor1.Release();
- }
- static void Salter12()
- {
- Console.WriteLine("Klijent dolazi na jedan od prva dva saltera.");
- Thread.Sleep(brojUplatnica * 40);
- Console.WriteLine("Klijent prolazi pored obezvedjenja i napusta banku.");
- semafor1.Release();
- }
- static void Banka()
- {
- semafor1.Wait();
- Console.WriteLine("Klijent je usao u banku.");
- a1.WaitOne();
- Console.WriteLine("Obezbedjenje proverava klijenta.");
- a1.Set();
- lock (obj1)
- {
- Random r = new Random();
- brojUplatnica = r.Next(1, 5);
- ukupanBrojUplatnica += brojUplatnica;
- if (brojUplatnica > 3)
- {
- Salter3();
- }
- else
- {
- Salter12();
- }
- }
- }
- static void Main(string[] args)
- {
- Thread nit = new Thread(radnoVreme);
- nit.Start();
- while(k ==0)
- {
- Thread niti = new Thread(Banka);
- nit.Start();
- Thread.Sleep(70);
- }
- Console.WriteLine("UKUPAN BROJ UPLATA TOG DANA JE: {0}", ukupanBrojUplatnica);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement