Остановить и продолжить выполнение метода. Общий поток при этом должен ожидать - 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...");
        }
    }
}

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


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

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

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