Я пытаюсь приостановить все свои потоки, когда достигаю определенного значения, но не могу этого сделать.
Мне бы хотелось, чтобы при достижении этого значения все потоки приостанавливались на 10 секунд и после этих 10 секунд все потоки начинаются снова.
Я пробовал это с: Threads.Sleep();
| Threads.Interrupt();
и Threads.Abort();
, но ничего не работает.
Я попробовал то, что вы видите в коде ниже.
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
Threads.Add(new Thread(new ThreadStart(example)));
Threads[i].Start();
}
for (int i = 0; i < Threads.Count; i++)
Threads[i].Join();
}
static void example()
{
while (true)
{
Console.WriteLine(value++);
checkValue();
}
}
public static void checkValue()
{
if (value% 1000 == 0 && value!= 0)
{
for (int i = 0; i < Threads.Count; i++)
Threads[i].Interrupt();
Thread.Sleep(1000);
for (int i = 0; i < Threads.Count; i++)
Threads[i].Resume();
}
}