Ожидание внутри потока - C#

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

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

Здравствуйте Подскажите, как мне реализовать такой алгоритм Я запускаю поток, в нём двойной цикл for перед j++ происходят действия и необходимо ждать (окончания действия другого потока или к примеру получение значения true у bool переменной) и продолжить выполнение, но в следующем цикле так же ждать и пока полностью не закончится for.
for (int i = 0; i < 5; i++)
    for (int j = 0; j < 5; j++)
    {
          //действие
          //ждём выполнение потока, или true
    }
То есть цикл не будет продолжаться пока не закончится //ждём выполнение потока, или true. Sleep как вариант работает, но надо без него. Надеюсь на вашу помощь.

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

textual
Листинг программы
System.Threading.Thread waitThread = null;
 
static void directionUP()
{
        for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                Data.lineIsComplete = false;
                Console.WriteLine("NEW CICLE - {0}", Data.lineIsComplete);
                
                form_main.waitThread = new System.Threading.Thread(wait);
 
                //действие
 
                form_main.waitThread.Start();
                form_main.waitThread.Join();
            }
        }
    }
}
 
public static void wait()
{
    do
    {
        Console.WriteLine("while - {0}", Data.lineIsComplete);
        System.Threading.Thread.Sleep(1);
    } while (Data.lineIsComplete != true);
    Console.WriteLine("I can this make");
}

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


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

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

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