Я работаю с Задачами в C#. У меня есть ситуация для запуска моего кода в Задаче. Но иногда этот код может go привести к тупиковой ситуации из-за некоторых проблем с алгоритмом. Я пытаюсь добиться механизма ожидания таким образом, чтобы
-Я запускал задачу
-Дождался несколько раз до завершения sh Выполнение задачи -Если задача не выполняется в конкретном раз, я убью эту задачу
Это мне нужно достичь. Пример кода приведен ниже.
Проблема в том, что даже если я отменяю задание, оно выполняется без выхода. Может ли кто-нибудь помочь в этом?
public static class MyTest
{
public static void StartTask()
{
CancellationTokenSource tokenSource = new CancellationTokenSource();
CancellationToken token = tokenSource.Token;
Task task = new Task(() => TaskMethod(), token);
task.Start();
if (!task.Wait(1000))
{
tokenSource.Cancel();
Console.WriteLine("Cancelled");
}
}
public static void TaskMethod()
{
while (true)
{
Thread.Sleep(2000);
Console.WriteLine("Haiiiiiii");
}
}
}```