static void Main(string[] args) { Cronometro.Start(); // aqui estamos criando uma Thread para cada método, ou seja, eles irão executar em paralelo: var threadA = new Thread(Processos.ProcessoA); var threadB = new Thread(Processos.ProcessoB); var threadC = new Thread(Processos.ProcessoC); threadA.Start(); threadB.Start(); threadC.Start(); // enquanto a thread xpto não concluir o processamento: while (threadA.IsAlive || threadB.IsAlive || threadC.IsAlive) { // Esse loop pode ficar rodando inúmeras vezes sem necessidade e consumindo processamento. // Logo, fazer os processos dessas threads dormirem, nem q seja por poucos miléssimos de segundo irá reduzir o número de processamento // e ganhar desempenho: Thread.Sleep(250); } Console.WriteLine("\nProceso concluído!"); Cronometro.Stop(); }
public IEnumerable <ProductDTO> GetAll() { Cronometro.Start(); IEnumerable <ProductDTO> products = new List <ProductDTO>(); string dataInCache = _distributedCache.GetString("Products"); if (!string.IsNullOrEmpty(dataInCache)) { Console.Write("#### Recuperando do Cache"); products = JsonSerializer.Deserialize <IEnumerable <ProductDTO> >(dataInCache); } else { Console.Write("#### Recuperando do Banco de Dados"); products = _repository.GetAll().Select(p => new ProductDTO() { Id = p.Id, Name = p.Name, Price = p.Price, Group = p.Group }); _distributedCache.SetString("Products", JsonSerializer.Serialize <IEnumerable <ProductDTO> >(products)); } Cronometro.Stop(); return(products); }
public TrazaSql(NivelDeTraza nivel, string ruta, string fichero, string mensajeInicial) : base(nivel, ruta, fichero) { Cronometro.Start(); Abrir(true); AnotarMensaje("Inicio", mensajeInicial); }
protected override void OnContinue() { //avisamos la continuidad del servicio elMensaje.WriteEntry("Se continua el servicio - ServicioArchivos"); //iniciamos el timer por si se freno Cronometro.Enabled = true; Cronometro.Start(); }
protected override void OnStart(string[] args) { //avisamos del inicio del servicio elMensaje.WriteEntry("Inicia el servicio - ServicioArchivos"); //iniciamos el timer por si se freno Cronometro.Enabled = true; Cronometro.Start(); }
/// <summary> /// Inicia una cuenta regresiva /// </summary> /// <param name="SegundosAContar">int</param> private void RealizarConteo(int SegundosAContar) { CronometroInicioDePartida?.Stop(); SegundosCuentaRegresiva = SegundosAContar; CronometroInicioDePartida = new Cronometro(1000, (SegundosAContar * 1000)); CronometroInicioDePartida.TranscurrioUnIntervalo += ActualizarSegundosContador; CronometroInicioDePartida.FinalizoElTimepo += DesactivarPausa; CronometroInicioDePartida.Start(); }
static void Execute() { Cronometro.Start(); Processos.ProcessoA(); Processos.ProcessoB(); Processos.ProcessoC(); Cronometro.Stop(); }
static void ExecuteAsync() { Cronometro.Start(); Parallel.Invoke( () => Processos.ProcessoA(), () => Processos.ProcessoB(), () => Processos.ProcessoC()); Cronometro.Stop(); }
public void EvaluarAlumno(Alumno a) { this.CargarAulas(); this.lblAlumEvaluado.Text = a.MostrarPersona(); this.CargandoNotas(); IndexadorDeNotas(a); a.NotaFinal = notaFinal; SerializarEvaluacion(a, this.notaFinal); CargarAlumnosEvaluados(a); this.alumno = a; Cronometro.Start(); }
static void Main(string[] args) { Cronometro.Start(); // Apenas uma Thread executando os métodos de forma síncrona: Processos.ProcessoA(); Processos.ProcessoB(); Processos.ProcessoC(); Console.WriteLine("\nProceso concluído!"); Cronometro.Stop(); }
private void Btn_iniciar_Click(object sender, EventArgs e) { try { Cronometro.Enabled = true; Cronometro.Start(); DesactivarControles(); Num1Box.Text = ObjCasosDeUso.NUM1.ToString(); Num2Box.Text = ObjCasosDeUso.NUM2.ToString(); } catch (Exception ex) { MessageBox.Show($"{ex}"); } }
private void Splash_Load(object sender, EventArgs e) { Cronometro.Start(); }
public override void ExecutarMetaheuristica() { //return Task.Factory.StartNew(() => //{ int iterAtual = 0, melhor_i = -1, melhor_j = -1, foMenorCutwidthSolucaoAtual = 0, foMenorSomaCutwidthSolucaoAtual = 0, foMenorQuantidadeVerticesMaiorCutwidthSolucaoAtual = 0; var estruturaTabu = new EstruturaTabu(base.NumeroVertices, this.NumeroIteracoesProibicaoLista, this.NumeroMaximoIteracoesProibicaoLista, this.IncrementoTamanhoListaTabu); var solucaoAtual = GerarSolucaoLiteraturaC1(); // GerarSolucaoAleatoria(); // GerarSolucaoInicial(); // GerarSolucaoLiteraturaC1() // new List<int> { 1, 15, 6, 2, 5, 9, 8, 13, 11, 3, 10, 7, 4, 12, 19, 17, 16, 14, 18 }; MelhorSolucao = new List <int>(solucaoAtual); ExecutarFuncaoAvaliacao(solucaoAtual); foMenorCutwidthSolucaoAtual = FOMenorCutwidthMelhorSolucao = CutwidthGrafo.Max(x => x.Value); foMenorSomaCutwidthSolucaoAtual = FOMenorSomaCutwidthMelhorSolucao = CutwidthGrafo.Sum(x => x.Value); foMenorQuantidadeVerticesMaiorCutwidthSolucaoAtual = FOMenorQuantidadeVerticesMaiorCutwidthMelhorSolucao = CutwidthGrafo.Where(x => x.Value == foMenorCutwidthSolucaoAtual).Count(); GravarLogDuranteExecucao($"{ melhor_i }; { melhor_j }; { foMenorCutwidthSolucaoAtual }; { string.Join(" | ", solucaoAtual.Select(x => x.ToString().PadLeft(2, '0'))) }\n"); Cronometro.Start(); while (iterAtual - this.MelhorIteracao < this.NumeroMaximoIteracoesSemMelhora) { iterAtual++; melhor_i = melhor_j = -1; CalcularMelhorVizinhoBestImprovementTroca(solucaoAtual, iterAtual, estruturaTabu, ref melhor_i, ref melhor_j, ref foMenorCutwidthSolucaoAtual, ref foMenorSomaCutwidthSolucaoAtual); if (melhor_i >= 0 && melhor_j >= 0) { CutwidthGrafo = ExecutarFuncaoAvaliacaoMovimentoTroca(solucaoAtual, melhor_i, melhor_j); // Troca os elementos de acordo com a melhor vizinhança retornada int aux = solucaoAtual[melhor_i]; solucaoAtual[melhor_i] = solucaoAtual[melhor_j]; solucaoAtual[melhor_j] = aux; GravarLogDuranteExecucao($"{ melhor_i.ToString().PadLeft(2, '0') }; { melhor_j.ToString().PadLeft(2, '0') }; { foMenorCutwidthSolucaoAtual.ToString().PadLeft(2, '0') }; { string.Join(" | ", solucaoAtual.Select(x => x.ToString().PadLeft(2, '0'))) }"); estruturaTabu.DefinirTabu(melhor_i, melhor_j, iterAtual); if (foMenorCutwidthSolucaoAtual < FOMenorCutwidthMelhorSolucao || (foMenorCutwidthSolucaoAtual == FOMenorCutwidthMelhorSolucao && foMenorSomaCutwidthSolucaoAtual < FOMenorSomaCutwidthMelhorSolucao)) { this.MelhorIteracao = iterAtual; FOMenorCutwidthMelhorSolucao = foMenorCutwidthSolucaoAtual; FOMenorSomaCutwidthMelhorSolucao = foMenorSomaCutwidthSolucaoAtual; MelhorSolucao = new List <int>(solucaoAtual); this.IteracoesMelhoraSolucaoGlobal.Add(iterAtual); estruturaTabu.ResetarTamanhoLista(); } else { if ((iterAtual - this.MelhorIteracao) % this.ModuloIteracaoSemMelhoraIncrementoListaTabu == 0) { estruturaTabu.IncrementarTamanhoLista(); } } } else { estruturaTabu.DecrementarTamanhoLista(); } } Cronometro.Stop(); ExecutarFuncaoAvaliacao(MelhorSolucao); GravarLogDuranteExecucao($"\n\nMelhorias solução global: {string.Join(" | ", base.IteracoesMelhoraSolucaoGlobal) }"); GravarLogDuranteExecucao($"Cutdwidth: { base.FOMenorCutwidthMelhorSolucao }"); GravarLogDuranteExecucao($"Solução Final: { string.Join(" | ", MelhorSolucao.Select(x => x.ToString().PadLeft(2, '0'))) }"); //Console.WriteLine(estruturaTabu.QuantidadeIteracoesProibicao); //estruturaTabu.ImprimirTrocasListaTabu(base.Instancia); //estruturaTabu.ImprimirQuantidadeIteracoesProibicaoListaTabu(base.Instancia); //}); }
public WIN_Procesos(Queue <Lote> Lotes) { this.Lotes = Lotes; InitializeComponent(); Cronometro.Start(); }