Beispiel #1
0
        public int IstekOlusturma(Sunucular sunucu)
        {
            int    istek;
            Random random = new Random();

            istek = random.Next(1, sunucu.istekAlmaKapatisesi + 1);

            return(istek);
        }
Beispiel #2
0
        public void SunucuSomur(Sunucular somurulen)
        {
            Thread.Sleep(this.istek_alma_suresi);
            Random random = new Random();
            int    somuru = random.Next(1, this.istekAlmaKapatisesi + 1);

            somurulen.istek_sayisi -= somuru;
            this.istek_sayisi      += somuru;
        }
Beispiel #3
0
        public Sunucular AltSunucOlustur()
        {
            Sunucular altSunucu = new Sunucular(5000, 500, 300, 50, 50, this.istek_sayisi / 2);

            altSunucu.olusturucu = this;

            this.istek_sayisi -= this.istek_sayisi / 2;

            return(altSunucu);
        }
 public Form1()
 {
     InitializeComponent();
     Control.CheckForIllegalCrossThreadCalls = false;
     ana_sunucu   = new Sunucular(10000, 500, 200, 170, 50, 1);
     alt_sunucu1  = new Sunucular(5000, 500, 300, 70, 50, 1);
     alt_sunucu2  = new Sunucular(5000, 500, 300, 50, 50, 1);
     mainThread   = new Thread(MainThreadBaslat);
     AltSunucular = new List <Sunucular>();
 }
 private void AltSunucuKontrol(Sunucular s)
 {
     if (s.SunucuKontrol())
     {
         AltSunucular.Add(s.AltSunucOlustur());
         //kontrolSayac++;
         Thread olustur = new Thread(ProgresbarOlustur);
         if (!olustur.IsAlive)
         {
             olustur.Start();
             //kontrolSayac = 0;
         }
     }
 }
        private void AltSunucuCalistir(Sunucular s)
        {
            Thread altsomuru = new Thread(() => s.SunucuSomur(ana_sunucu));

            if (!altsomuru.IsAlive && !(s.istek_sayisi >= s.kapasite))
            {
                altsomuru.Start();
                ProgressBar progress = this.Controls.Find("progressBar" + ((forSayac) + 5).ToString(), true).FirstOrDefault() as ProgressBar;
                progress.Value = s.istek_sayisi * 100 / (s.kapasite);  // kapasite değiştirildiğinde değiştir
            }
            else if (s.istek_sayisi >= s.kapasite)
            {
                //label4.Text = "Alt Sunucu 2 doldu";
                ProgressBar progress = this.Controls.Find("progressBar" + ((forSayac) + 5).ToString(), true).FirstOrDefault() as ProgressBar;
                progress.Value = s.istek_sayisi * 100 / (s.kapasite);
            }
            forSayac++;
        }
        private void AltSunucuTuket(Sunucular s)
        {
            Thread altTuketim = new Thread(s.SIstekYoketme);

            if (!altTuketim.IsAlive && (s.istek_sayisi > 0))
            {
                altTuketim.Start();
                ProgressBar progress = this.Controls.Find("progressBar" + ((forSayac) + 5).ToString(), true).FirstOrDefault() as ProgressBar;
                progress.Value = s.istek_sayisi * 100 / (s.kapasite);  // kapasite değiştirildiğinde değiştir
            }
            else if (s.istek_sayisi <= 0)
            {
                //label4.Text = "Alt Sunucu 2 doldu";
                ProgressBar progress = this.Controls.Find("progressBar" + ((forSayac) + 5).ToString(), true).FirstOrDefault() as ProgressBar;
                progress.Value = s.istek_sayisi * 100 / (s.kapasite);
                AltSunucular.Remove(s);
                sayacProgresbar--;
                altTuketim.Abort();
            }
            forSayac++;
        }