public int IstekOlusturma(Sunucular sunucu) { int istek; Random random = new Random(); istek = random.Next(1, sunucu.istekAlmaKapatisesi + 1); return(istek); }
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; }
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++; }