Остановить и продолжить выполнение метода. Общий поток при этом должен ожидать - C#
Формулировка задачи:
Всем привет!
Есть метод 1, который выполняется и останавливается в процессе, затем выполняется метод 2, когда он завершается, то продолжается метод 1. Но при этом, общий поток не должен продолжаться, пока не выполнится 1 и 2 методы.
Нигде не нашёл решения.
Решение задачи: «Остановить и продолжить выполнение метода. Общий поток при этом должен ожидать»
textual
Листинг программы
using System;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication26
{
internal class Program
{
private static readonly Random R = new Random();
private static void Main()
{
Foo();
}
private static void Foo()
{
Console.WriteLine("Foo() executing...");
Thread.Sleep(R.Next(1500, 2000));
Console.WriteLine("Going to Bar()");
var task = Task.Factory.StartNew(Bar);
task.Wait();
Console.WriteLine("Going to Bar() again");
task = Task.Factory.StartNew(Bar);
task.Wait();
Console.WriteLine("Ending Foo()...");
Thread.Sleep(R.Next(2500, 4000));
Console.WriteLine("Restart Foo()");
Foo();
}
private static void Bar()
{
Console.WriteLine("Bar() started!");
Thread.Sleep(R.Next(1500, 2000));
Console.WriteLine("Finishing...");
}
}
}