Пример #1
0
        public void InicializaThread(ProcessosThreadModelo processosThreadModelo)
        {
            List <ProcessoThread> processoThreads = this.CarregaConfiguracao(processosThreadModelo);

            processoThreads.ForEach(t => { t.IniciaThread(); });

            this.listaThreads.AddRange(processoThreads);
        }
Пример #2
0
        public void InicializaTodasThreads()
        {
            ProcessosThreadModelo processosThreadModelo = new ProcessosThreadModelo();
            List <PropertyInfo>   propertyInfo          = processosThreadModelo
                                                          .GetType()
                                                          .GetProperties()
                                                          .ToList();

            propertyInfo?.ForEach(p => { p.SetValue(processosThreadModelo, true); });

            InicializaThread(processosThreadModelo);
        }
Пример #3
0
        private List <ProcessoThread> CarregaConfiguracao(ProcessosThreadModelo processosThreadModelo)
        {
            List <ProcessoThread> processoThreads = new List <ProcessoThread>();
            NameValueCollection   config;
            int intervalo;

            if (processosThreadModelo.Thread01)
            {
                config = BuscaSecao("thread01");

                if (config != null && config["tempoThread01"] != null)
                {
                    intervalo = int.Parse(config["tempoThread01"]) * 1000;
                    if (intervalo > 0)
                    {
                        processoThreads.Add(new ProcessoThread01(intervalo));
                    }
                }
            }

            if (processosThreadModelo.Thread02)
            {
                config = BuscaSecao("thread02");

                if (config != null && config["tempoThread02"] != null)
                {
                    intervalo = int.Parse(config["tempoThread02"]) * 1000;
                    if (intervalo > 0)
                    {
                        processoThreads.Add(new ProcessoThread02(intervalo));
                    }
                }
            }

            return(processoThreads);
        }