Организация двух потоков в приложении - 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();
}