How to run 2 functions simultaneously with multithreading in C#

1 Answer

0 votes
using System;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        // Start the two functions as tasks
        Task task1 = Task.Run(() => Function1());
        Task task2 = Task.Run(() => Function2());

        // If you want/need you can wait for both tasks to complete
        Task.WaitAll(task1, task2);

        Console.WriteLine("End Main method");
    }

    static void Function1() {
        for (int i = 0; i < 5; i++) {
            Console.WriteLine($"Function1 - Iteration {i}");
            Task.Delay(1000).Wait(); 
        }
    }

    static void Function2() {
        for (int i = 0; i < 5; i++) {
            Console.WriteLine($"Function2 - Iteration {i}");
            Task.Delay(1000).Wait(); 
        }
    }
}


/*
run:

Function2 - Iteration 0
Function1 - Iteration 0
Function1 - Iteration 1
Function2 - Iteration 1
Function1 - Iteration 2
Function2 - Iteration 2
Function1 - Iteration 3
Function2 - Iteration 3
Function1 - Iteration 4
Function2 - Iteration 4
End Main method

*/

 



answered Jan 20, 2025 by avibootz
edited Jan 21, 2025 by avibootz
...