public static string Run(List <Cliente> listaClientes)
        {
            ServiceSimulator service = new ServiceSimulator();

            var relogio = new Stopwatch();

            relogio.Start();

            ListaCliente = listaClientes;
            var listaTask = new List <Task>();
            var listaDeListaDeClientes = new List <List <Cliente> >();
            var totalClientes          = ListaCliente.Count();

            var numeroTasks = VerificarNumeroTasks(totalClientes);

            Task.Run(async() =>
            {
                for (int i = 0; i < numeroTasks; i++)
                {
                    listaDeListaDeClientes.Add(RetornarListaClienteFragmentada(totalClientes, numeroTasks, i));
                }

                foreach (var item in listaDeListaDeClientes)
                {
                    listaTask.Add(Task.Factory.StartNew(() => ValidarCPF(item, service)));
                }

                await Task.WhenAll(listaTask.ToArray());
            }).Wait();

            relogio.Stop();

            return($"Com Thread. A aplicação levou {relogio.ElapsedMilliseconds / 1000} segundos para terminar.");
        }
 //Aqui chamaremos o serviço
 private static void ValidarCPF(List <Cliente> listaClientes, ServiceSimulator service)
 {
     foreach (var item in listaClientes)
     {
         item.Valido = service.ValidarCPF(item.CPF);
     }
 }
        public static string Run(List <Cliente> listaClientes)
        {
            ServiceSimulator service = new ServiceSimulator();

            var relogio = new Stopwatch();

            relogio.Start();

            foreach (var item in listaClientes)
            {
                item.Valido = service.ValidarCPF(item.CPF);
            }

            relogio.Stop();

            return($"Sem thread. A aplicação levou {relogio.ElapsedMilliseconds / 1000} segundos para terminar.");
        }