7 maneiras de iniciar uma task em .NET C #

0

Novas threads podem ser iniciadas utilizando a programação de tarefas da Biblioteca em .NET de várias maneiras diferentes.

Primeiro você precisa adicionar o seguinte usando declaração:

using System.Threading.Tasks;

  1.  A maneira mais direta

    Task.Factory.StartNew(() => {Console.WriteLine(“Hello Task library!”); });

  2. Usando Ação

    Task task = new Task(new Action(PrintMessage));

    task.Start();

  3. Onde PrintMessage é um método:

    private void PrintMessage()
    {
        Console.WriteLine(“Hello Task library!”);

    }

  4. Usando um delegate
    Task task = new Task(delegate { PrintMessage(); });
    task.Start();
  5. Lambda e método ‘chamado’
    Task task = new Task( () => PrintMessage() );

    task.Start();

  6. Lambda e método anônimo

    Task task = new Task( () => { PrintMessage(); } );
    task.Start();
  7.  Usando Task.Run em .NET4.5

    public async Task DoWork()
    {
        await Task.Run(() => PrintMessage());
    }

    Usando Task.FromResult em .NET4.5 para retornar um resultado de uma Task:

    public async Task DoWork()
    {
        int res = await Task.FromResult<int>(GetSum(4, 5));  
    }
     
    private int GetSum(int a, int b)
    {
        return a + b;
    }

Você não pode iniciar uma tarefa que já foi concluída. Se você precisa executar a mesma tarefa, você precisará iniciar a mesma novamente.
Faça uma leitura adicional sobre o assunto aqui.

 

Um grande abraço a todos!

 

Compartilhe.