Want create site? Find Free WordPress Themes and plugins.

Determinar o tempo de processamento de uma tarefa é uma necessidade bastante comum em projetos de software. Este tipo de procedimento costuma estar associado à implementação de logs de monitoramento ou, mesmo, à geração de feedback reportando o andamento de uma atividade.

Muitos desenvolvedores costumam registrar o horário de início e término em casos como este, calculando ao final o tempo decorrido na execução de um conjunto de instruções. Embora se trate de uma prática válida e adotada por muitas aplicações, a plataforma .NET conta com um recurso que simplifica esta tarefa: a classe Stopwatch, que integra o namespace System.Diagnostics.

Na próxima listagem é possível observar um exemplo de utilização do tipo Stopwatch:

  • A partir de uma nova instância desta classe será acionada a operação Start, a fim de iniciar a contagem de tempo;
  • A chamada ao método Sleep da classe Thread (namespace System.Threading) interromperá a aplicação por um tempo aleatório, o qual pode variar de 1 a 3 segundos. Isto é conseguido por meio de um objeto do tipo Random (namespace System);
  • Por fim, invocar o método Stop fará com que a contagem de tempo seja interrompida. O valor correspondente poderá ser acessado através da propriedade Elapsed, a qual retornará um valor do tipo TimeSpan (namespace System).
using System;
using System.Threading;
using System.Diagnostics;

namespace TesteStopwatch
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch watch = new Stopwatch();
            watch.Start();

            Random r = new Random();
            Thread.Sleep(r.Next(1000, 3000));

            watch.Stop();

            Console.WriteLine("Tempo de processamento: " + watch.Elapsed);
            Console.ReadKey();
        }
    }
}

Executando este bloco de instruções aparecerá então uma tela como a indicada na próxima imagem:

stopwatch-01

Concluo assim este post sobre .NET, lembrando que informações adicionais sobre a classe Stopwatch podem ser encontradas na seção de Referências.

Espero que este conteúdo possa ter sido útil.

Até uma próxima oportunidade!

Referências

Stopwatch Class
https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(v=vs.110).aspx

Renato Groffe

Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 13 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Microsoft Specialist (HTML5 with JavaScript and CSS3, Developing ASP.NET MVC 4 Web Applications), Oracle Certified Associate (PL/SQL), Sun Certified (SCJP, SCWCD), ITIL Foundation V2, Cobit 4.1 Foundation.

Facebook Google+ 

Did you find apk for android? You can find new Free Android Games and apps.

Comentários

comentarios