Ожидание внутри потока - C#
Формулировка задачи:
Здравствуйте
Подскажите, как мне реализовать такой алгоритм
Я запускаю поток, в нём двойной цикл for
перед j++ происходят действия и необходимо ждать (окончания действия другого потока или к примеру получение значения true у bool переменной) и продолжить выполнение, но в следующем цикле так же ждать и пока полностью не закончится for.
То есть цикл не будет продолжаться пока не закончится //ждём выполнение потока, или true.
Sleep как вариант работает, но надо без него.
Надеюсь на вашу помощь.
for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) { //действие //ждём выполнение потока, или true }
Решение задачи: «Ожидание внутри потока»
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"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д