public GlavnaObrada(Data.DbContext dbContext) { Dnevnik.Pisi("Inicijalizacija glavne obrade"); // Inicijalizacija liste strana zaglavlja procitaneStraneZaglavlja = new Common.Http.ListaStrana(Properties.Settings.Default.BrojStranaZaglavlja); // Inicijalizacija liste strana oglasa procitaneStraneOglasa = new Common.Http.ListaStrana(Properties.Settings.Default.BrojStranaOglasa); // Inicijalizacija brojaca strane zaglavlja brojacStraneZaglavlja = new Common.Http.Brojac(); // BarijeraZaPisce barijera = new BarijeraZaPisce(pisacZaglavlja.Length); // inicijalizacija pisca zaglavlja for (int i = 0; i < pisacZaglavlja.Length; i++) { pisacZaglavlja[i] = new PisacZaglavlja(ref procitaneStraneZaglavlja, brojacStraneZaglavlja, i, ref barijera); } // inicijalizacija citaca zaglavlja for (int i = 0; i < citacZaglavlja.Length; i++) { citacZaglavlja[i] = new CitacZaglavlja(ref procitaneStraneZaglavlja, ref procitaneStraneOglasa, i, brojacStraneZaglavlja); } // inicijalizacija citaca oglasa for (int i = 0; i < citacOglasa.Length; i++) { citacOglasa[i] = new AdReader(dbContext, ref procitaneStraneOglasa, i); } //EventLogger.WriteEventInfo("Glavna obrada inicijalizovana."); }
private bool radi = true; // uslov da se thread vrti public PisacZaglavlja(ref Common.Http.ListaStrana straneZaglavlja, Common.Http.Brojac brojac, int threadId, ref BarijeraZaPisce barijera) { this.procitaneStrane = straneZaglavlja; Pisac = new Thread(new ThreadStart(Obrada)); Pisac.Name = "PisacZaglavlja" + threadId.ToString(new String('0', Properties.Settings.Default.BrojPisacaZaglavlja.ToString().Length)); this.threadId = threadId; this.brojacStranaZaglavlja = brojac; this.barijera = barijera; }