Как заставить потоки выполняться один за другим строго в том порядке, в котором они были созданы?

У меня есть несколько потоков, как правильно запустить программу, чтобы они с первого раза запускались точно так же, как в коде, а со следующего раза по своему алгоритму.

 class Program
        {
            static void mythread1()
            {
                for (int i = 0; i < 1; i++)
                {
                    Console.WriteLine("Pan");
                }
            }
    
            static void mythread2()
            {
                for (int i = 0; i < 1; i++)
                {
                    Console.WriteLine("Fire");
                }
            }
            static void mythread3()
            {
                 for (int i = 0; i < 1; i++)
                {
                    Console.WriteLine("Butter");
                }
            }
            static void mythread4()
            {
                for (int i = 0; i < 1; i++)
                {
                    Console.WriteLine("Egg");
                }
            }
            static void mythread5()
            {
                for (int i = 0; i < 1; i++)
                {
                    Console.WriteLine("Salt");
                }
            }
            static void Main(string[] args)
            {
    
                Thread thread1 = new Thread(mythread1);
                Thread thread2 = new Thread(mythread2);
                Thread thread3 = new Thread(mythread3);
                Thread thread4 = new Thread(mythread4);
                Thread thread5 = new Thread(mythread5);
                for (int i = 0; i < 1; i++ )
                {
                    thread1.Start();
                    thread2.Start();
                    thread3.Start();
                    thread4.Start();
                    thread5.Start();
                }
            }
        }
    }

Ответы (0 шт):