static void PrintNumbers()
for (int i = 1; i <= 10; i++)
Console.WriteLine($"Thread 1 - Number: {i}");
static void PrintSquares()
for (int i = 1; i <= 10; i++)
Console.WriteLine($"Thread 2 - Square: {i * i}");
for (int i = 1; i <= 10; i++)
Console.WriteLine($"Thread 3 - Cube: {i * i * i}");
public static void Main()
Thread thread1 = new Thread(PrintNumbers);
Thread thread2 = new Thread(PrintSquares);
Thread thread3 = new Thread(PrintCubes);
Console.WriteLine("All threads have finished execution.");