Que fait la réinitialisation?
-
12-11-2019 - |
Question
Salut, j'ai le code de test suivant:
class Program
{
static void Main(string[] args)
{
Thread t = new Thread(Work);
t.Start();
Thread.Sleep(1000);
t.Abort();
Thread.Sleep(1000);
t.Abort();
Thread.Sleep(1000);
t.Abort();
t.Join();
Console.WriteLine("End");
}
static void Work()
{
int i = 0;
while (i<10)
{
try
{
while(true);
}
catch(ThreadAbortException)
{
Thread.ResetAbort();
}
Console.WriteLine("I will come back!");
i++;
}
}
}
Chaque fois, lorsqu'il y a un abord, thread.resetabort () sera exécuté. Je me demande ce que fait cette réinitialisation. Parce que lorsque je l'exécute, j'ai vu la sortie suivante: je reviendrai! Je reviendrai! Je reviendrai! Et je n'ai pas vu la sortie "fin" - il semble que ce programme ne se soit pas terminé du tout. Est-ce que tu sais pourquoi? Merci!
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow