Организация двух потоков в приложении - C#

Узнай цену своей работы

Формулировка задачи:

Ребят не могу допереть у меня есть многопоточное приложение. И в одном из потоков я формирую данные в рекурсии. И надо создать еще 1 поток который будет сохранять эти данные в файл. Так вот не могу понять как решить задачу такую что-бы было 2 потока, а не по надобности создавать новый.

Решение задачи: «Организация двух потоков в приложении»

textual
Листинг программы
private static readonly AutoResetEvent autoResetEvent = new AutoResetEvent(false);
 
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        private static void Main()
        {
            var thread1 = new Thread(go1);
            thread1.IsBackground = true;
            thread1.Start();
 
            var thread2 = new Thread(go2);
            thread2.IsBackground = true;
            thread2.Start();
 
            Console.ReadKey();
        }
 
        private static void go2()
        {
            Console.WriteLine("Ждем сигнала от первого потока");
            //Ждем пока первый поток завершит работу
            autoResetEvent.WaitOne();
            Console.WriteLine("Первый поток завершился");
        }
 
        private static void go1()
        {
            Console.WriteLine("Ждем 5 секунд");
            Thread.Sleep(5000);
            //Что то делаем 
            //Сообщаем второму потоку, что завершили
            Console.WriteLine("Передаем управление второму потоку");
            autoResetEvent.Set();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы