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_UNOSENJE_KUTIJA_U_KAMION
- {
- class Program
- {
- static int brojKutija = 40;
- static int necineKutije = 0;
- static int bobiskineKutije = 0;
- static int comineKutije = 0;
- static readonly object obj = new object();
- static CountdownEvent count = new CountdownEvent(1);
- static void Unos()
- {
- lock(obj)
- {
- brojKutija--;
- }
- }
- static void Kutije()
- {
- while (brojKutija > 0)
- {
- string ime = Thread.CurrentThread.Name;
- if (ime == "Neca")
- {
- Random r = new Random();
- Thread.Sleep(r.Next(20, 25));
- Console.WriteLine(ime + " je uneo kutiju u kombi.");
- Unos();
- necineKutije++;
- }
- if (ime == "Bobiska")
- {
- Random r = new Random();
- Thread.Sleep(r.Next(22, 23));
- Console.WriteLine(ime + " je uneo kutiju u kombi.");
- Unos();
- bobiskineKutije++;
- }
- if (ime == "Comi")
- {
- Random r = new Random();
- Thread.Sleep(r.Next(18, 30));
- Console.WriteLine(ime + " je uneo kutiju u kombi.");
- Unos();
- comineKutije++;
- }
- }
- if (brojKutija < 0)
- {
- count.Signal();
- }
- }
- static void Main(string[] args)
- {
- Thread n1 = new Thread(Kutije);
- n1.Name = "Neca";
- n1.Start();
- Thread n2 = new Thread(Kutije);
- n2.Name = "Bobiska";
- n2.Start();
- Thread n3 = new Thread(Kutije);
- n3.Name = "Comi";
- n3.Start();
- count.Wait();
- if (necineKutije > bobiskineKutije && necineKutije > comineKutije)
- {
- Console.WriteLine("NECA ima najvise kutija unesenih u kombi, broj kutija: {0}", necineKutije);
- }
- if (bobiskineKutije > necineKutije && bobiskineKutije > comineKutije)
- {
- Console.WriteLine("BOBISKA ima najvise kutija unesenih u kombi, broj kutija: {0}", bobiskineKutije);
- }
- if (comineKutije > necineKutije && comineKutije > bobiskineKutije)
- {
- Console.WriteLine("COMI ime najvise kutija unesenih u kombi, broj kutija: {0}", comineKutije);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement