Ho un compito e mi aspetto che ci voglia in meno di un secondo per essere eseguito, ma se impiega più di qualche secondo voglio annullare l'operazione.Task.Wait (int) interrompe l'attività se il timeout è scaduto senza che l'attività termini?
Ad esempio:
Task t = new Task(() =>
{
while (true)
{
Thread.Sleep(500);
}
});
t.Start();
t.Wait(3000);
Si noti che dopo 3000 millisecondi l'attesa scade. L'attività è stata annullata quando è scaduto il timeout o l'attività è ancora in esecuzione?
Perché non utilizzare l'annullamento API? –
Qual è l'API di cancellazione? –
controllare la mia risposta Ho messo alcuni collegamenti a riguardo –